From: Bastian Dehn Date: Sun, 24 Apr 2022 15:56:05 +0000 (+0200) Subject: add: two flags for ringbuffer X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=429ced0c475e3412a2081c1210b0080755c86f35;p=ringbuffer.git add: two flags for ringbuffer --- diff --git a/ringbuffer.c b/ringbuffer.c index e95fc4c..c90bbe2 100644 --- a/ringbuffer.c +++ b/ringbuffer.c @@ -4,6 +4,8 @@ void initRingbuffer(ringbuffer *buf, int size) { + buf->full = false; + buf->finish = false; buf->count = 0; buf->tail = 0; buf->head = 0; @@ -21,6 +23,7 @@ void addValue(ringbuffer *buf, int value) { if (buf->count >= buf->max) { buf->count = buf->max; + buf->full = true; buf->tail++; } @@ -37,6 +40,8 @@ void addValue(ringbuffer *buf, int value) int getValue(ringbuffer *buf) { + if (buf->full) + buf->full = false; if (buf->tail >= buf->max) buf->tail = 0; diff --git a/ringbuffer.h b/ringbuffer.h index f16e67b..39915a1 100644 --- a/ringbuffer.h +++ b/ringbuffer.h @@ -1,7 +1,10 @@ #ifndef RINGBUFFER_H #define RINGBUFFER_H +#include typedef struct { + bool full; + bool finish; int count; int tail; int head;