1.1 --- a/src/buffer.c Mon Apr 18 17:26:21 2022 +0200 1.2 +++ b/src/buffer.c Sun Apr 24 14:54:50 2022 +0200 1.3 @@ -36,7 +36,7 @@ 1.4 CxBuffer *buffer, 1.5 void *space, 1.6 size_t capacity, 1.7 - CxAllocator *allocator, 1.8 + CxAllocator const *allocator, 1.9 int flags 1.10 ) { 1.11 buffer->allocator = allocator; 1.12 @@ -65,33 +65,6 @@ 1.13 } 1.14 } 1.15 1.16 -CxBuffer *cxBufferExtract( 1.17 - CxBuffer *src, 1.18 - size_t start, 1.19 - size_t length, 1.20 - int flags 1.21 -) { 1.22 - if (src->size == 0 || length == 0 || 1.23 - ((size_t) -1) - start < length || start + length > src->capacity) { 1.24 - return NULL; 1.25 - } 1.26 - 1.27 - CxBuffer *dst = (CxBuffer *) malloc(sizeof(cx_buffer_s)); 1.28 - if (dst) { 1.29 - dst->bytes = malloc(length); 1.30 - if (!dst->bytes) { 1.31 - free(dst); 1.32 - return NULL; 1.33 - } 1.34 - dst->capacity = length; 1.35 - dst->size = length; 1.36 - dst->flags = flags | CX_BUFFER_FREE_CONTENTS; 1.37 - dst->pos = 0; 1.38 - memcpy(dst->bytes, src->bytes + start, length); 1.39 - } 1.40 - return dst; 1.41 -} 1.42 - 1.43 int cxBufferSeek( 1.44 CxBuffer *buffer, 1.45 off_t offset, 1.46 @@ -128,7 +101,13 @@ 1.47 1.48 } 1.49 1.50 -int cxBufferEof(CxBuffer *buffer) { 1.51 +void cxBufferClear(CxBuffer *buffer) { 1.52 + memset(buffer->bytes, 0, buffer->size); 1.53 + buffer->size = 0; 1.54 + buffer->pos = 0; 1.55 +} 1.56 + 1.57 +int cxBufferEof(CxBuffer const *buffer) { 1.58 return buffer->pos >= buffer->size; 1.59 } 1.60