From: Wolfgang (Blub) Bumiller Date: Fri, 16 Nov 2012 21:06:07 +0000 (+0100) Subject: ftepp_out can now output to a string buffer X-Git-Tag: 0.1.9~404^2~36 X-Git-Url: https://de.git.xonotic.org/?a=commitdiff_plain;h=03f0e39f7f0389dce84406e489ec33debce8e555;p=xonotic%2Fgmqcc.git ftepp_out can now output to a string buffer --- diff --git a/ftepp.c b/ftepp.c index 9cd2903..e1a8e30 100644 --- a/ftepp.c +++ b/ftepp.c @@ -61,6 +61,9 @@ typedef struct { bool output_on; ppcondition *conditions; ppmacro **macros; + + bool output_string; + char *output; } ftepp_t; #define ftepp_tokval(f) ((f)->lex->tok.value) @@ -154,7 +157,15 @@ static void ftepp_out(ftepp_t *ftepp, const char *str, bool ignore_cond) { if (ignore_cond || ftepp->output_on) { - printf("%s", str); + size_t len; + char *data; + if (!ftepp->output_string) { + printf("%s", str); + return; + } + len = strlen(str); + data = vec_add(ftepp->output, len); + memcpy(data, str, len); } }