diff --git a/Makefile b/Makefile index 760129d..6b1324e 100644 --- a/Makefile +++ b/Makefile @@ -57,6 +57,9 @@ asm: $(ASMS) $(OBJECTS) wc -l $(ASMS) size $(OBJECTS) +tidy: + @clang-tidy $(C_SOURCES) -- $(CFLAGS) + format: clang-format -i $(C_SOURCES) $(C_HEADERS) 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 efffe50..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. */ @@ -26,7 +29,7 @@ struct RingBuf { } __attribute__((packed)); /* - * Considerations: One hot encoding for the enum values + * Considerations: One hot encoding for the enum values * (8 bit each with -fshort-enums) */