Index: /branches/libffado-2.0/src/libutil/ringbuffer.c =================================================================== --- /branches/libffado-2.0/src/libutil/ringbuffer.c (revision 864) +++ /branches/libffado-2.0/src/libutil/ringbuffer.c (revision 1360) @@ -188,11 +188,9 @@ memcpy (dest, &(rb->buf[rb->read_ptr]), n1); - rb->read_ptr += n1; - rb->read_ptr &= rb->size_mask; + rb->read_ptr = (rb->read_ptr + n1) & rb->size_mask; if (n2) { memcpy (dest + n1, &(rb->buf[rb->read_ptr]), n2); - rb->read_ptr += n2; - rb->read_ptr &= rb->size_mask; + rb->read_ptr = (rb->read_ptr + n2) & rb->size_mask; } @@ -237,4 +235,5 @@ if (n2) { memcpy (dest + n1, &(rb->buf[tmp_read_ptr]), n2); + // FIXME: tmp_read_ptr is not used anymore tmp_read_ptr += n2; tmp_read_ptr &= rb->size_mask; @@ -273,11 +272,9 @@ memcpy (&(rb->buf[rb->write_ptr]), src, n1); - rb->write_ptr += n1; - rb->write_ptr &= rb->size_mask; + rb->write_ptr = (rb->write_ptr + n1) & rb->size_mask; if (n2) { memcpy (&(rb->buf[rb->write_ptr]), src + n1, n2); - rb->write_ptr += n2; - rb->write_ptr &= rb->size_mask; + rb->write_ptr = (rb->write_ptr + n2) & rb->size_mask; } @@ -290,6 +287,5 @@ ffado_ringbuffer_read_advance (ffado_ringbuffer_t * rb, size_t cnt) { - rb->read_ptr += cnt; - rb->read_ptr &= rb->size_mask; + rb->read_ptr = (rb->read_ptr + cnt) & rb->size_mask; } @@ -299,6 +295,5 @@ ffado_ringbuffer_write_advance (ffado_ringbuffer_t * rb, size_t cnt) { - rb->write_ptr += cnt; - rb->write_ptr &= rb->size_mask; + rb->write_ptr = (rb->write_ptr + cnt) & rb->size_mask; }