src/server/util/strreplace.c

changeset 661
a4e1ba59b733
parent 660
f00d03835dd9
--- a/src/server/util/strreplace.c	Tue Jan 13 18:09:20 2026 +0100
+++ b/src/server/util/strreplace.c	Tue Feb 03 19:09:53 2026 +0100
@@ -30,6 +30,7 @@
 
 #include <string.h>
 #include <stdlib.h>
+#include <unistd.h>
 #include <ctype.h>
 
 #include <cx/buffer.h>
@@ -38,8 +39,8 @@
 
 StringTemplate* string_template_compile(const CxAllocator *a, cxstring tpl) {
     StringTemplateSegment *end = NULL; // segment list end
-    int var = FALSE;
-    int error = FALSE;
+    int var = false;
+    int error = false;
     
     CxBuffer buf; // tmp buffer
     if(cxBufferInit(&buf, NULL, NULL, 128, CX_BUFFER_AUTO_EXTEND|CX_BUFFER_FREE_CONTENTS)) {
@@ -58,8 +59,8 @@
     
     for(size_t i=0;i<tpl.length;i++) {
         char c = tpl.ptr[i];
-        int add_char = FALSE; // add current char to the buffer
-        int finish_seg = FALSE; // copy buffer to segment string and start new segment
+        int add_char = false; // add current char to the buffer
+        int finish_seg = false; // copy buffer to segment string and start new segment
         
         if(!seg) {
             // start new segment
@@ -77,7 +78,7 @@
                 }
                 end = seg;
             } else {
-                error = TRUE;
+                error = true;
                 break;
             }
         }
@@ -85,48 +86,48 @@
         if(var) {
             // current segment is a var
             if(c == '}') {
-                var = FALSE;
-                finish_seg = TRUE;
+                var = false;
+                finish_seg = true;
             } else if(c == '{') {
                 // noop
             } else if(!isalnum(c)) {
-                var = FALSE;
-                finish_seg = TRUE;
+                var = false;
+                finish_seg = true;
                 i--;
             } else {
-                add_char = TRUE;
+                add_char = true;
             }
         } else {
             if(c == '$') {
                 if(i+1<tpl.length && tpl.ptr[i+1] == '$') {
                     // $$ -> $
                     i++;
-                    add_char = TRUE;
+                    add_char = true;
                 } else {
-                    var = TRUE;
+                    var = true;
                     if(buf.pos == 0) {
                         // reuse current segment
                         seg->type = STRING_SEGMENT_VAR_PLACEHOLDER;
                     } else {
                         // create new segment
-                        finish_seg = TRUE;
+                        finish_seg = true;
                     }
                 }
             } else {
-                add_char = TRUE;
+                add_char = true;
             }
         }
         
         if(add_char) {
             if(cxBufferPut(&buf, c) != c) {
-                error = TRUE;
+                error = true;
                 break;
             }
         } else if(finish_seg) {
             // copy buffer content
             cxmutstr seg_str = cx_strdup_a(a, cx_strn(buf.space, buf.pos));
             if(!seg_str.ptr) {
-                error = TRUE;
+                error = true;
                 break;
             }
             seg->str = seg_str;
@@ -145,7 +146,7 @@
     if(seg) {
         cxmutstr seg_str = cx_strdup_a(a, cx_strn(buf.space, buf.pos));
         if(!seg_str.ptr) {
-            error = TRUE;
+            error = true;
         } else {
             seg->str = seg_str;
             if(seg->type == STRING_SEGMENT_VAR_PLACEHOLDER) {
@@ -196,7 +197,7 @@
             }
         } else if(varfunc) {
             // convert var segment to value
-            WSBool free_str = FALSE;
+            bool free_str = false;
             cxmutstr str = varfunc(a, seg, userdata, &free_str);
             if(str.length > 0) {
                 size_t r = writef(str.ptr, 1, str.length, stream);

mercurial