summaryrefslogtreecommitdiff
path: root/rb.h
diff options
context:
space:
mode:
authorOlivier Gayot <duskcoder@gmail.com>2013-12-21 23:48:52 +0100
committerOlivier Gayot <duskcoder@gmail.com>2014-01-18 13:44:04 +0100
commit24dc23e78ca4b49d599093f7936ddcb9da818ab6 (patch)
tree2f60c337a403fb0225c794ec6bc3782febfeb155 /rb.h
parent3522c68dcd38e3eef393771d65aff6de2f815da3 (diff)
rb: allow to remove data from a ring buffer
we provide two new ways to remove data from a ring_buffer rb_remove(rb, n) or rb_get(rb, NULL, n) closes #2
Diffstat (limited to 'rb.h')
-rw-r--r--rb.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/rb.h b/rb.h
index f66dba8..5b1e0e1 100644
--- a/rb.h
+++ b/rb.h
@@ -46,4 +46,13 @@ size_t rb_get(t_rb *rb, void *dest, size_t n);
*/
size_t rb_peek(const t_rb *ring_buffer, void *dest, size_t size);
+/*
+ * remove a maximum of n bytes from the ring buffer pointed to by rb
+ * the functions returns the number of bytes actually removed
+ */
+static inline size_t rb_remove(t_rb *rb, size_t n)
+{
+ return rb_get(rb, NULL, n);
+}
+
#endif /* RING_BUFFER_H */