summaryrefslogtreecommitdiffstats
path: root/app/ring.c
diff options
context:
space:
mode:
authorfishsoupisgood <github@madingley.org>2020-06-15 14:02:42 +0100
committerfishsoupisgood <github@madingley.org>2020-06-15 14:02:42 +0100
commit4ced1453cee7a3131459040efd57f73bfc77aece (patch)
tree78cbcbdcef4847b5b194cf65470ffb45a3e7a8e3 /app/ring.c
parentd23934fedc0b76863fcb2ba653560e108309bce6 (diff)
downloadrobs_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.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/app/ring.c b/app/ring.c
index c4f3458..c1d1803 100644
--- a/app/ring.c
+++ b/app/ring.c
@@ -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;
}