src/buffer.c

changeset 1576
7e19168d49d1
parent 1575
dde0c67a449b
child 1577
b5e6b91a98c3
--- a/src/buffer.c	Thu Dec 11 23:47:46 2025 +0100
+++ b/src/buffer.c	Fri Dec 12 15:07:38 2025 +0100
@@ -299,6 +299,9 @@
         size_t nitems,
         CxBuffer *buffer
 ) {
+    // trivial case
+    if (size == 0 || nitems == 0) return 0;
+
     // optimize for easy case
     if (size == 1 && (buffer->capacity - buffer->pos) >= nitems) {
         if (buffer_copy_on_write(buffer)) return 0;
@@ -364,6 +367,9 @@
         size_t nitems,
         CxBuffer *buffer
 ) {
+    // trivial case
+    if (size == 0 || nitems == 0) return 0;
+
     size_t pos = buffer->pos;
     size_t append_pos = buffer->size;
     buffer->pos = append_pos;    
@@ -418,11 +424,12 @@
     return 0;
 }
 
-size_t cxBufferPutString(
-        CxBuffer *buffer,
-        const char *str
-) {
-    return cxBufferWrite(str, 1, strlen(str), buffer);
+size_t cx_buffer_put_string(CxBuffer *buffer, cxstring str) {
+    return cxBufferWrite(str.ptr, 1, str.length, buffer);
+}
+
+size_t cx_buffer_append_string(CxBuffer *buffer, cxstring str) {
+    return cxBufferAppend(str.ptr, 1, str.length, buffer);
 }
 
 size_t cxBufferRead(

mercurial