diff options
| author | 2025-06-23 14:41:38 -0400 | |
|---|---|---|
| committer | 2025-06-23 14:41:38 -0400 | |
| commit | 0470ca3416388e7e58b64f63bfe505d454f150b9 (patch) | |
| tree | 6427213cc15d6ce9034509fd2ea96b7c82bf9ae2 /src | |
| parent | 923ff358ee9f4d37b70a224a49c8a4d6492989d1 (diff) | |
| download | libalabaster-0470ca3416388e7e58b64f63bfe505d454f150b9.tar.gz libalabaster-0470ca3416388e7e58b64f63bfe505d454f150b9.tar.bz2 libalabaster-0470ca3416388e7e58b64f63bfe505d454f150b9.zip | |
all: *_free() check consistency, C++ compat
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src')
| -rw-r--r-- | src/array.c | 1 | ||||
| -rw-r--r-- | src/ring_buffer.c | 30 |
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; |