1.1 --- a/src/printf.c Wed Feb 01 17:14:17 2023 +0100 1.2 +++ b/src/printf.c Wed Feb 01 18:06:50 2023 +0100 1.3 @@ -31,9 +31,16 @@ 1.4 #include <stdio.h> 1.5 #include <string.h> 1.6 1.7 -#define CX_PRINTF_BUFSIZE 256 1.8 +#ifndef CX_PRINTF_SBO_SIZE 1.9 +#define CX_PRINTF_SBO_SIZE 512 1.10 +#endif 1.11 1.12 -int cx_fprintf(void *stream, cx_write_func wfc, char const *fmt, ...) { 1.13 +int cx_fprintf( 1.14 + void *stream, 1.15 + cx_write_func wfc, 1.16 + char const *fmt, 1.17 + ... 1.18 +) { 1.19 int ret; 1.20 va_list ap; 1.21 va_start(ap, fmt); 1.22 @@ -43,13 +50,13 @@ 1.23 } 1.24 1.25 int cx_vfprintf(void *stream, cx_write_func wfc, char const *fmt, va_list ap) { 1.26 - char buf[CX_PRINTF_BUFSIZE]; 1.27 + char buf[CX_PRINTF_SBO_SIZE]; 1.28 va_list ap2; 1.29 va_copy(ap2, ap); 1.30 - int ret = vsnprintf(buf, CX_PRINTF_BUFSIZE, fmt, ap); 1.31 + int ret = vsnprintf(buf, CX_PRINTF_SBO_SIZE, fmt, ap); 1.32 if (ret < 0) { 1.33 return ret; 1.34 - } else if (ret < CX_PRINTF_BUFSIZE) { 1.35 + } else if (ret < CX_PRINTF_SBO_SIZE) { 1.36 return (int) wfc(buf, 1, ret, stream); 1.37 } else { 1.38 int len = ret + 1; 1.39 @@ -80,11 +87,11 @@ 1.40 cxmutstr s; 1.41 s.ptr = NULL; 1.42 s.length = 0; 1.43 - char buf[CX_PRINTF_BUFSIZE]; 1.44 + char buf[CX_PRINTF_SBO_SIZE]; 1.45 va_list ap2; 1.46 va_copy(ap2, ap); 1.47 - int ret = vsnprintf(buf, CX_PRINTF_BUFSIZE, fmt, ap); 1.48 - if (ret > 0 && ret < CX_PRINTF_BUFSIZE) { 1.49 + int ret = vsnprintf(buf, CX_PRINTF_SBO_SIZE, fmt, ap); 1.50 + if (ret > 0 && ret < CX_PRINTF_SBO_SIZE) { 1.51 s.ptr = cxMalloc(a, ret + 1); 1.52 if (s.ptr) { 1.53 s.length = (size_t) ret;