summaryrefslogtreecommitdiff
path: root/kernel/ringbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/ringbuffer.c')
-rw-r--r--kernel/ringbuffer.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/kernel/ringbuffer.c b/kernel/ringbuffer.c
index 6700931..43d0e33 100644
--- a/kernel/ringbuffer.c
+++ b/kernel/ringbuffer.c
@@ -18,10 +18,7 @@ void ringbuffer_free(ringbuffer *f)
bool ringbuffer_put(ringbuffer* f,uint8_t c)
{
- if((f->back-1+f->size)%f->size==f->front)
- {
- return false;
- }
+ if(ringbuffer_full(f))return false;
f->data[f->back]=c;
f->back--;
@@ -30,6 +27,15 @@ bool ringbuffer_put(ringbuffer* f,uint8_t c)
return true;
}
+bool ringbuffer_full(ringbuffer* f)
+{
+ if((f->back-1+f->size)%f->size==f->front)
+ {
+ return true;
+ }
+ return false;
+}
+
bool ringbuffer_has(ringbuffer* f)
{
bool res=true;