From: Wolfgang (Blub) Bumiller Date: Fri, 16 Nov 2012 21:07:53 +0000 (+0100) Subject: moving ftepp_delete out of ftepp_preprocess so that it can actually be called recursively X-Git-Tag: 0.1.9~404^2~35 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=99dd2088803c5feaefc3804396d264e6838dcd05;p=xonotic%2Fgmqcc.git moving ftepp_delete out of ftepp_preprocess so that it can actually be called recursively --- diff --git a/ftepp.c b/ftepp.c index e1a8e30..d4cf761 100644 --- a/ftepp.c +++ b/ftepp.c @@ -827,7 +827,6 @@ static bool ftepp_preprocess(ftepp_t *ftepp) } while (!ftepp->errors && ftepp->token < TOKEN_EOF); newline = ftepp->token == TOKEN_EOF; - ftepp_delete(ftepp); return newline; } @@ -839,7 +838,12 @@ bool ftepp_preprocess_file(const char *filename) con_out("failed to open file \"%s\"\n", filename); return false; } - return ftepp_preprocess(ftepp); + if (!ftepp_preprocess(ftepp)) { + ftepp_delete(ftepp); + return false; + } + ftepp_delete(ftepp); + return true; } bool ftepp_preprocess_string(const char *name, const char *str) @@ -850,5 +854,10 @@ bool ftepp_preprocess_string(const char *name, const char *str) con_out("failed to create lexer for string \"%s\"\n", name); return false; } - return ftepp_preprocess(ftepp); + if (!ftepp_preprocess(ftepp)) { + ftepp_delete(ftepp); + return false; + } + ftepp_delete(ftepp); + return true; }