# HG changeset patch # User Mike Becker # Date 1765548597 -3600 # Node ID b5e6b91a98c3218d991b24722773c17254c963f7 # Parent 7e19168d49d163076556c94251b10f0bb45f6710 simplify cxBufferAppend() because it does not need to care about flushing anymore relates to #185 diff -r 7e19168d49d1 -r b5e6b91a98c3 src/buffer.c --- a/src/buffer.c Fri Dec 12 15:07:38 2025 +0100 +++ b/src/buffer.c Fri Dec 12 15:09:57 2025 +0100 @@ -370,20 +370,10 @@ // trivial case if (size == 0 || nitems == 0) return 0; - size_t pos = buffer->pos; - size_t append_pos = buffer->size; - buffer->pos = append_pos; - size_t written = cxBufferWrite(ptr, size, nitems, buffer); - // the buffer might have been flushed - // we must compute a possible delta for the position - // expected: pos = append_pos + written - // -> if this is not the case, there is a delta - size_t delta = append_pos + written*size - buffer->pos; - if (delta > pos) { - buffer->pos = 0; - } else { - buffer->pos = pos - delta; - } + const size_t pos = buffer->pos; + buffer->pos = buffer->size; + const size_t written = cxBufferWrite(ptr, size, nitems, buffer); + buffer->pos = pos; return written; }