diff options
Diffstat (limited to 'kernel/ringbuffer.c')
| -rw-r--r-- | kernel/ringbuffer.c | 14 |
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; |
