From: Wolfgang (Blub) Bumiller Date: Fri, 16 Nov 2012 19:49:37 +0000 (+0100) Subject: moving ftepp_out further up, using it in ftepp_macro_call, generating output of param... X-Git-Tag: 0.1.9~404^2~42 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=commitdiff_plain;h=6c0b4a46fe1939a18ce851d63066f0f05e90a5d8;ds=sidebyside moving ftepp_out further up, using it in ftepp_macro_call, generating output of parameter-less macros --- diff --git a/ftepp.c b/ftepp.c index cd42217..fcdaea7 100644 --- a/ftepp.c +++ b/ftepp.c @@ -147,6 +147,16 @@ void ftepp_delete(ftepp_t *self) mem_d(self); } +static void ftepp_out(ftepp_t *ftepp, const char *str, bool ignore_cond) +{ + if (ignore_cond || + !vec_size(ftepp->conditions) || + vec_last(ftepp->conditions).on) + { + printf("%s", str); + } +} + ppmacro* ftepp_macro_find(ftepp_t *ftepp, const char *name) { size_t i; @@ -280,7 +290,16 @@ static bool ftepp_define(ftepp_t *ftepp) static bool ftepp_macro_call(ftepp_t *ftepp, ppmacro *macro) { + size_t o; ftepp_next(ftepp); + + if (!macro->has_params) { + for (o = 0; o < vec_size(macro->output); ++o) { + ftepp_out(ftepp, macro->output[o]->value, false); + } + return true; + } + if (!ftepp_skipallwhite(ftepp)) return false; return true; @@ -611,16 +630,6 @@ static bool ftepp_hash(ftepp_t *ftepp) return true; } -static void ftepp_out(ftepp_t *ftepp, const char *str, bool ignore_cond) -{ - if (ignore_cond || - !vec_size(ftepp->conditions) || - vec_last(ftepp->conditions).on) - { - printf("%s", str); - } -} - static bool ftepp_preprocess(ftepp_t *ftepp) { ppmacro *macro;