]> git.ipfire.org Git - pakfire.git/commitdiff
libpakfire: parser: End loop when all declarations are merged
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 1 Jun 2019 04:41:56 +0000 (05:41 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 1 Jun 2019 04:41:56 +0000 (05:41 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/parser.c

index 58064716d3a5e7a9189d74031427cbb2da903dab..a118d3bdc5496146f3c8de892a134fe35c7e8e0b 100644 (file)
@@ -432,13 +432,12 @@ PAKFIRE_EXPORT char* pakfire_parser_get(PakfireParser parser, const char* name)
 PAKFIRE_EXPORT PakfireParser pakfire_parser_merge(PakfireParser parser1, PakfireParser parser2) {
        DEBUG(parser1->pakfire, "Merging parsers %p and %p\n", parser1, parser2);
 
-       if (parser2) {
-               for (unsigned int i = 0; i < parser2->num_declarations; i++) {
-                       struct pakfire_parser_declaration* d = parser2->declarations[i];
+       for (unsigned int i = 0; i < parser2->num_declarations; i++) {
+               struct pakfire_parser_declaration* d = parser2->declarations[i];
+               if (!d)
+                       break;
 
-                       if (d)
-                               pakfire_parser_set_declaration(parser1, d->name, d->value);
-               }
+               pakfire_parser_set_declaration(parser1, d->name, d->value);
        }
 
        return parser1;