fixed ringbuf.c warnings

Fix a "signed/unsigned comparison warning", and several void pointer
math warnings.
This commit is contained in:
Max Kellermann 2008-08-25 15:49:06 +02:00
parent f9f7086062
commit 35918c9901
2 changed files with 5 additions and 5 deletions

View File

@ -36,7 +36,7 @@ struct ringbuf *ringbuf_create(size_t sz)
struct ringbuf *rb = xmalloc(sizeof(struct ringbuf)); struct ringbuf *rb = xmalloc(sizeof(struct ringbuf));
size_t power_of_two; size_t power_of_two;
for (power_of_two = 1; 1 << power_of_two < sz; power_of_two++) for (power_of_two = 1; (size_t)(1 << power_of_two) < sz; power_of_two++)
/* next power_of_two... */; /* next power_of_two... */;
rb->size = 1 << power_of_two; rb->size = 1 << power_of_two;
@ -137,7 +137,7 @@ size_t ringbuf_read(struct ringbuf * rb, void *dest, size_t cnt)
ringbuf_read_advance(rb, n1); ringbuf_read_advance(rb, n1);
if (n2) { if (n2) {
memcpy(dest + n1, rb->buf + rb->read_ptr, n2); memcpy((char*)dest + n1, rb->buf + rb->read_ptr, n2);
ringbuf_read_advance(rb, n2); ringbuf_read_advance(rb, n2);
} }
@ -175,7 +175,7 @@ size_t ringbuf_peek(struct ringbuf * rb, void *dest, size_t cnt)
advance_ptr(tmp_read_ptr, n1, rb->size_mask); advance_ptr(tmp_read_ptr, n1, rb->size_mask);
if (n2) { if (n2) {
memcpy(dest + n1, rb->buf + tmp_read_ptr, n2); memcpy((char*)dest + n1, rb->buf + tmp_read_ptr, n2);
advance_ptr(tmp_read_ptr, n2, rb->size_mask); advance_ptr(tmp_read_ptr, n2, rb->size_mask);
} }
@ -211,7 +211,7 @@ size_t ringbuf_write(struct ringbuf * rb, const void *src, size_t cnt)
ringbuf_write_advance(rb, n1); ringbuf_write_advance(rb, n1);
if (n2) { if (n2) {
memcpy(rb->buf + rb->write_ptr, src + n1, n2); memcpy(rb->buf + rb->write_ptr, (const char*)src + n1, n2);
ringbuf_write_advance(rb, n2); ringbuf_write_advance(rb, n2);
} }

View File

@ -39,7 +39,7 @@
*/ */
struct ringbuf { struct ringbuf {
void *buf; unsigned char *buf;
size_t write_ptr; size_t write_ptr;
size_t read_ptr; size_t read_ptr;
size_t size; size_t size;