diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib.c b/src/lib.c new file mode 100644 index 0000000..8563873 --- /dev/null +++ b/src/lib.c @@ -0,0 +1,12 @@ +int smprintf(char ** str, const char * format, ...) { /* allocates automaticalls (: */ + va_list ap, aq; + va_start(ap, format); + va_copy(aq, ap); + int len = vsnprintf(NULL, 0, format, ap); + *str = malloc(len+1); + if (len != vsprintf(str, format, ap)) + fprintf(stderr, "[BUG] !!! len1 != len2\n"); + va_end(ap); + va_end(aq); + return len; +} |