From 08a73180d49b08589375f492589631781b02930f Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Tue, 12 Feb 2019 17:57:51 +0100 Subject: [PATCH] First fix for the ring buffer --- src/utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils.c b/src/utils.c index d0b0aa6..57ddc11 100644 --- a/src/utils.c +++ b/src/utils.c @@ -15,6 +15,7 @@ int ring_buffer_read(struct ring_buffer* rb, char* dest, int size) { slice2 = used_space - slice1; } + printf("max_buffer=%d, head=%d, tail=%d, size=%d, slice1=%d, slice2=%d\n", RING_BUFFER_SIZE, rb->head, rb->tail, size, slice1, slice2); memcpy(dest, rb->buffer + rb->head, slice1); memcpy(dest+slice1, rb->buffer, slice2); @@ -53,7 +54,7 @@ int ring_buffer_write(struct ring_buffer* rb, char* source, int size) { int ring_buffer_free_space(struct ring_buffer* rb) { if (rb->head > rb->tail) return rb->head - rb->tail; - return RING_BUFFER_SIZE + (rb->tail - rb->head); + return RING_BUFFER_SIZE - (rb->tail - rb->head); } int ring_buffer_used_space(struct ring_buffer* rb) {