From: Michael Tremer Date: Tue, 31 Dec 2024 13:37:17 +0000 (+0000) Subject: packagelist: Fix keep going logic X-Git-Tag: 0.9.30~631 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab50002cf1f2c7a946253020033e8ba9249c68d1;p=pakfire.git packagelist: Fix keep going logic This is supposed to store the last error code and return it when the flag is set. Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/packagelist.c b/src/libpakfire/packagelist.c index 70867aeb7..7d46968b8 100644 --- a/src/libpakfire/packagelist.c +++ b/src/libpakfire/packagelist.c @@ -172,13 +172,17 @@ PAKFIRE_EXPORT int pakfire_packagelist_walk(struct pakfire_packagelist* list, // Call the callback r = callback(list->ctx, element->pkg, data); + // Continue if there was no error + if (r == 0) + continue; + // Exit on error - if (r < 0) + else if (r < 0) return r; // If have been asked to keep going, we else if (flags & PAKFIRE_PACKAGELIST_KEEPGOING) - kept_going = 1; + kept_going = r; else if (r > 0) return r;