summaryrefslogtreecommitdiffstats
path: root/catsprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'catsprintf.c')
-rw-r--r--catsprintf.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/catsprintf.c b/catsprintf.c
new file mode 100644
index 0000000..e0914c4
--- /dev/null
+++ b/catsprintf.c
@@ -0,0 +1,20 @@
+#include "catsprintf.h"
+
+int catsprintf(char *buf, const char *format, ...) {
+ static int i = 0;
+
+ va_list arg; /*will point to each unnamed argument in turn*/
+ va_start(arg, format); /* point to first element after fmt*/
+
+
+ char b[8192];
+ int c = vsprintf (b, format, arg);
+ i += strlen(b);
+ //printf("%d %s (%d)\n", i, b, strlen(b));
+
+ strcat(buf, b);
+
+ va_end(arg); /*cleanup*/
+
+ return c;
+}