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));
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... */;
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);
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);
}
@ -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);
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);
}
@ -211,7 +211,7 @@ size_t ringbuf_write(struct ringbuf * rb, const void *src, size_t cnt)
ringbuf_write_advance(rb, n1);
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);
}

View File

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