summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/array.c1
-rw-r--r--src/ring_buffer.c30
2 files changed, 16 insertions, 15 deletions
diff --git a/src/array.c b/src/array.c
index c94994b..80dc730 100644
--- a/src/array.c
+++ b/src/array.c
@@ -2,6 +2,7 @@
#include "../include/al/macros.h"
#include "../include/al/array_sort.h"
+// Initially based on XV by Kang Seonghoon.
// https://github.com/lifthrasiir/angolmois/blob/master/angolmois.c#L79
// https://gist.github.com/lifthrasiir/4422136
diff --git a/src/ring_buffer.c b/src/ring_buffer.c
index b1c2fe5..5c4307f 100644
--- a/src/ring_buffer.c
+++ b/src/ring_buffer.c
@@ -30,15 +30,15 @@ static inline void add(struct al_ring_buffer *buf, u8 **v, u8 *ptr, ptrdiff_t n)
ptrdiff_t al_ring_buffer_space(struct al_ring_buffer *buf)
{
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
u8 *rp = previous(buf, (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED));
return (wp <= rp) ? rp - wp : (buf->end - wp) + (rp - buf->start);
}
u8 *al_ring_buffer_write_chunk(struct al_ring_buffer *buf, ptrdiff_t *size)
{
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_ACQUIRE);
- u8 *rp = previous(buf, al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED));
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_ACQUIRE);
+ u8 *rp = previous(buf, (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED));
*size = ((wp <= rp) ? rp : buf->end) - wp;
return wp;
}
@@ -50,15 +50,15 @@ void al_ring_buffer_append(struct al_ring_buffer *buf, u8 *ptr, ptrdiff_t n)
ptrdiff_t al_ring_buffer_occupied(struct al_ring_buffer *buf)
{
- u8 *rp = al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED);
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
+ u8 *rp = (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED);
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
return (rp <= wp) ? wp - rp : (buf->end - rp) + (wp - buf->start);
}
u8 *al_ring_buffer_read_chunk(struct al_ring_buffer *buf, ptrdiff_t *size)
{
- u8 *rp = al_atomic_load(void)(&buf->read, AL_ATOMIC_ACQUIRE);
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
+ u8 *rp = (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_ACQUIRE);
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
*size = ((rp <= wp) ? wp : buf->end) - rp;
return rp;
}
@@ -70,8 +70,8 @@ void al_ring_buffer_consume(struct al_ring_buffer *buf, u8 *ptr, ptrdiff_t n)
ptrdiff_t al_ring_buffer_write(struct al_ring_buffer *buf, u8 *data, ptrdiff_t n)
{
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_ACQUIRE);
- u8 *rp = previous(buf, al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED));
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_ACQUIRE);
+ u8 *rp = previous(buf, (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED));
ptrdiff_t size = MIN(((wp <= rp) ? rp : buf->end) - wp, n);
al_memcpy(wp, data, (size_t)size);
@@ -91,8 +91,8 @@ ptrdiff_t al_ring_buffer_write(struct al_ring_buffer *buf, u8 *data, ptrdiff_t n
ptrdiff_t al_ring_buffer_read(struct al_ring_buffer *buf, u8 *ptr, ptrdiff_t n)
{
- u8 *rp = al_atomic_load(void)(&buf->read, AL_ATOMIC_ACQUIRE);
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
+ u8 *rp = (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_ACQUIRE);
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
ptrdiff_t size = MIN(((rp <= wp) ? wp : buf->end) - rp, n);
al_memcpy(ptr, rp, (size_t)size);
@@ -112,8 +112,8 @@ ptrdiff_t al_ring_buffer_read(struct al_ring_buffer *buf, u8 *ptr, ptrdiff_t n)
ptrdiff_t al_ring_buffer_peek(struct al_ring_buffer *buf, u8 *ptr, ptrdiff_t offset, ptrdiff_t n)
{
- u8 *rp = al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED);
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
+ u8 *rp = (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_RELAXED);
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
ptrdiff_t size;
if (rp <= wp) {
@@ -144,8 +144,8 @@ ptrdiff_t al_ring_buffer_peek(struct al_ring_buffer *buf, u8 *ptr, ptrdiff_t off
ptrdiff_t al_ring_buffer_discard(struct al_ring_buffer *buf, ptrdiff_t n)
{
- u8 *rp = al_atomic_load(void)(&buf->read, AL_ATOMIC_ACQUIRE);
- u8 *wp = al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
+ u8 *rp = (u8 *)al_atomic_load(void)(&buf->read, AL_ATOMIC_ACQUIRE);
+ u8 *wp = (u8 *)al_atomic_load(void)(&buf->write, AL_ATOMIC_RELAXED);
ptrdiff_t discard = MIN(((rp <= wp) ? wp : buf->end) - rp, n);
rp += discard;