diff --git a/ringbuf.c b/ringbuf.c index 23adb94..9ea1a6d 100644 --- a/ringbuf.c +++ b/ringbuf.c @@ -40,9 +40,9 @@ rb_init(struct RingBuf *rb, rb_size_t capacity, ALLOC_T malloc_fn, } void -rb_destroy(struct RingBuf *rb, void(free)()) +rb_destroy(struct RingBuf *rb, FREE_T free_fn) { - free(rb->buffer); + free_fn(rb->buffer); } void diff --git a/ringbuf.h b/ringbuf.h index 4e3cbb8..6d6d01f 100644 --- a/ringbuf.h +++ b/ringbuf.h @@ -12,6 +12,9 @@ typedef void *(*ALLOC_T)(rb_size_t); /** Signature of memcpy */ typedef void *(*MEMCPY_T)(void *, const void *, rb_size_t); +/** Signature of free */ +typedef void (*FREE_T)(void *); + /** * @brief Ring buffer, also known as circular buffer. */