src/ucx/printf.c

changeset 490
d218607f5a7e
parent 415
d938228c382e
--- a/src/ucx/printf.c	Sat Mar 25 17:18:51 2023 +0100
+++ b/src/ucx/printf.c	Fri May 05 18:02:11 2023 +0200
@@ -31,9 +31,16 @@
 #include <stdio.h>
 #include <string.h>
 
-#define UCX_PRINTF_BUFSIZE 256
+#ifndef CX_PRINTF_SBO_SIZE
+#define CX_PRINTF_SBO_SIZE 512
+#endif
 
-int cx_fprintf(void *stream, cx_write_func wfc, char const *fmt, ...) {
+int cx_fprintf(
+        void *stream,
+        cx_write_func wfc,
+        char const *fmt,
+        ...
+) {
     int ret;
     va_list ap;
     va_start(ap, fmt);
@@ -42,14 +49,19 @@
     return ret;
 }
 
-int cx_vfprintf(void *stream, cx_write_func wfc, char const *fmt, va_list ap) {
-    char buf[UCX_PRINTF_BUFSIZE];
+int cx_vfprintf(
+        void *stream,
+        cx_write_func wfc,
+        char const *fmt,
+        va_list ap
+) {
+    char buf[CX_PRINTF_SBO_SIZE];
     va_list ap2;
     va_copy(ap2, ap);
-    int ret = vsnprintf(buf, UCX_PRINTF_BUFSIZE, fmt, ap);
+    int ret = vsnprintf(buf, CX_PRINTF_SBO_SIZE, fmt, ap);
     if (ret < 0) {
         return ret;
-    } else if (ret < UCX_PRINTF_BUFSIZE) {
+    } else if (ret < CX_PRINTF_SBO_SIZE) {
         return (int) wfc(buf, 1, ret, stream);
     } else {
         int len = ret + 1;
@@ -67,7 +79,11 @@
     return ret;
 }
 
-cxmutstr cx_asprintf_a(CxAllocator *allocator, char const *fmt, ...) {
+cxmutstr cx_asprintf_a(
+        CxAllocator const *allocator,
+        char const *fmt,
+        ...
+) {
     va_list ap;
     cxmutstr ret;
     va_start(ap, fmt);
@@ -76,15 +92,19 @@
     return ret;
 }
 
-cxmutstr cx_vasprintf_a(CxAllocator *a, char const *fmt, va_list ap) {
+cxmutstr cx_vasprintf_a(
+        CxAllocator const *a,
+        char const *fmt,
+        va_list ap
+) {
     cxmutstr s;
     s.ptr = NULL;
     s.length = 0;
-    char buf[UCX_PRINTF_BUFSIZE];
+    char buf[CX_PRINTF_SBO_SIZE];
     va_list ap2;
     va_copy(ap2, ap);
-    int ret = vsnprintf(buf, UCX_PRINTF_BUFSIZE, fmt, ap);
-    if (ret > 0 && ret < UCX_PRINTF_BUFSIZE) {
+    int ret = vsnprintf(buf, CX_PRINTF_SBO_SIZE, fmt, ap);
+    if (ret > 0 && ret < CX_PRINTF_SBO_SIZE) {
         s.ptr = cxMalloc(a, ret + 1);
         if (s.ptr) {
             s.length = (size_t) ret;

mercurial