From: Michael Tremer Date: Sat, 11 Jan 2025 13:31:04 +0000 (+0000) Subject: parser: Fix return code handling when merging parsers X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=04e86da104af94586d8f090f962fbcf2782ed90c;p=people%2Fric9%2Fpakfire.git parser: Fix return code handling when merging parsers Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/parser.c b/src/pakfire/parser.c index 85eeedba2..60caedfb4 100644 --- a/src/pakfire/parser.c +++ b/src/pakfire/parser.c @@ -860,7 +860,7 @@ int pakfire_parser_merge(struct pakfire_parser* parser1, struct pakfire_parser* // Do not try to merge a parser with itself if (parser1 == parser2) - return -EINVAL; + return -ENOTSUP; DEBUG(parser1->ctx, "Merging parsers %p and %p\n", parser1, parser2); @@ -872,7 +872,7 @@ int pakfire_parser_merge(struct pakfire_parser* parser1, struct pakfire_parser* // Make the new namespace namespace = pakfire_parser_join(".", parser2->namespace, d->namespace); if (!namespace) { - r = 1; + r = -errno; goto OUT; } @@ -892,13 +892,13 @@ int pakfire_parser_merge(struct pakfire_parser* parser1, struct pakfire_parser* // Make the new value value = pakfire_parser_join(" ", old_value, d->value); if (!value) { - r = 1; + r = -errno; goto OUT; } // Set everything in parser 1 r = pakfire_parser_set(parser1, namespace, d->name, value, d->flags); - if (r) + if (r < 0) goto OUT; OUT: