From: Michael Tremer Date: Thu, 20 May 2021 14:07:42 +0000 (+0000) Subject: parser: Make exiting the expand function easier X-Git-Tag: 0.9.28~1285^2~123 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aed0b342c7e3f8ae5a45abf0b274fa89f4fb7bb3;p=pakfire.git parser: Make exiting the expand function easier Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/parser.c b/src/libpakfire/parser.c index 164a25a1b..e03eca14a 100644 --- a/src/libpakfire/parser.c +++ b/src/libpakfire/parser.c @@ -565,32 +565,28 @@ PAKFIRE_EXPORT char* pakfire_parser_expand(PakfireParser parser, // Compile all regular expressions int r = pakfire_parser_compile_regexes(parser); - if (r) { - free(buffer); - return NULL; - } + if (r) + goto ERROR; // Expand all variables r = pakfire_parser_expand_variables(parser, namespace, &buffer); - if (r) { - if (buffer) - free(buffer); - - return NULL; - } + if (r) + goto ERROR; // Expand all commands if (parser->flags & PAKFIRE_PARSER_FLAGS_EXPAND_COMMANDS) { r = pakfire_parser_expand_commands(parser, &buffer); - if (r) { - if (buffer) - free(buffer); - - return NULL; - } + if (r) + goto ERROR; } return buffer; + +ERROR: + if (buffer) + free(buffer); + + return NULL; } PAKFIRE_EXPORT char* pakfire_parser_get(PakfireParser parser, const char* namespace, const char* name) {