diff options
author | fishsoupisgood <github@madingley.org> | 2020-06-15 14:02:42 +0100 |
---|---|---|
committer | fishsoupisgood <github@madingley.org> | 2020-06-15 14:02:42 +0100 |
commit | 4ced1453cee7a3131459040efd57f73bfc77aece (patch) | |
tree | 78cbcbdcef4847b5b194cf65470ffb45a3e7a8e3 /app/ring.c | |
parent | d23934fedc0b76863fcb2ba653560e108309bce6 (diff) | |
download | robs_speedo-4ced1453cee7a3131459040efd57f73bfc77aece.tar.gz robs_speedo-4ced1453cee7a3131459040efd57f73bfc77aece.tar.bz2 robs_speedo-4ced1453cee7a3131459040efd57f73bfc77aece.zip |
guage code
Diffstat (limited to 'app/ring.c')
-rw-r--r-- | app/ring.c | 23 |
1 files changed, 12 insertions, 11 deletions
@@ -2,16 +2,18 @@ static inline size_t -ring_next (ring_t * r, size_t p) +ring_next (ring_t *r, size_t p) { p++; + if (p >= r->size) p -= r->size; + return p; } void -ring_init (ring_t * r, uint8_t * buf, size_t len) +ring_init (ring_t *r, uint8_t *buf, size_t len) { r->data = buf; r->size = len; @@ -20,7 +22,7 @@ ring_init (ring_t * r, uint8_t * buf, size_t len) } int -ring_write_byte (ring_t * r, uint8_t c) +ring_write_byte (ring_t *r, uint8_t c) { size_t n = ring_next (r, r->write); @@ -36,7 +38,7 @@ ring_write_byte (ring_t * r, uint8_t c) int -ring_read_byte (ring_t * r, uint8_t * c) +ring_read_byte (ring_t *r, uint8_t *c) { size_t n = ring_next (r, r->read); @@ -50,19 +52,18 @@ ring_read_byte (ring_t * r, uint8_t * c) } int -ring_write (ring_t * r, uint8_t * buf, size_t len) +ring_write (ring_t *r, uint8_t *buf, size_t len) { - while (len--) - { - if (ring_write_byte (r, *(buf++))) - return -1; - } + while (len--) { + if (ring_write_byte (r, * (buf++))) + return -1; + } return 0; } int -ring_empty (ring_t * r) +ring_empty (ring_t *r) { return (r->read == r->write) ? 1 : 0; } |