]> git.ipfire.org Git - pakfire.git/commitdiff
build: Correct evaluate some more return codes
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Oct 2024 15:28:04 +0000 (15:28 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Oct 2024 15:28:04 +0000 (15:28 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/build.c

index 716cf22bd75d3ba04d774cfbb88ee3a9a68ac33d..ca356ec8429b8464f40a53f7972e204f62d56cd2 100644 (file)
@@ -621,20 +621,21 @@ static int pakfire_build_package_mark_config_files(struct pakfire_build* build,
 
        // Fetch configfiles from makefile
        r = pakfire_parser_get_filelist(makefile, namespace, "configfiles", &configfiles, NULL);
+       if (r < 0)
+               goto ERROR;
 
        // If configfiles is not set, there is nothing to do
        if (!configfiles)
-               return 0;
+               goto ERROR;
 
-       r = pakfire_filelist_walk(filelist, __pakfire_build_package_mark_config_files,
-               configfiles, 0);
+       // Walk through the filelist
+       r = pakfire_filelist_walk(filelist, __pakfire_build_package_mark_config_files, configfiles, 0);
+       if (r < 0)
+               goto ERROR;
 
-       // Cleanup
-       if (configfiles) {
-               for (char** configfile = configfiles; *configfile; configfile++)
-                       free(*configfile);
-               free(configfiles);
-       }
+ERROR:
+       if (configfiles)
+               pakfire_strings_free(configfiles);
 
        return r;
 }
@@ -649,10 +650,12 @@ static int pakfire_build_package_add_files(struct pakfire_build* build,
 
        // Fetch filelist from makefile
        r = pakfire_parser_get_filelist(makefile, namespace, "files", &includes, &excludes);
+       if (r < 0)
+               goto ERROR;
 
        // No files to package?
        if (!includes && !excludes)
-               return 0;
+               goto ERROR;
 
        // Allocate a new filelist
        r = pakfire_filelist_create(&filelist, build->pakfire);
@@ -662,7 +665,7 @@ static int pakfire_build_package_add_files(struct pakfire_build* build,
        // Scan for files
        r = pakfire_filelist_scan(filelist, build->buildroot,
                (const char**)includes, (const char**)excludes, PAKFIRE_FILELIST_EXTENDED_MATCHING);
-       if (r)
+       if (r < 0)
                goto ERROR;
 
        CTX_DEBUG(build->ctx, "%zu file(s) found\n", pakfire_filelist_length(filelist));
@@ -694,16 +697,10 @@ static int pakfire_build_package_add_files(struct pakfire_build* build,
 ERROR:
        if (filelist)
                pakfire_filelist_unref(filelist);
-       if (includes) {
-               for (char** include = includes; *include; include++)
-                       free(*include);
-               free(includes);
-       }
-       if (excludes) {
-               for (char** exclude = excludes; *exclude; exclude++)
-                       free(*exclude);
-               free(excludes);
-       }
+       if (includes)
+               pakfire_strings_free(includes);
+       if (excludes)
+               pakfire_strings_free(excludes);
 
        return r;
 }
@@ -1908,11 +1905,13 @@ static int pakfire_build_install_test(struct pakfire_build* build) {
 
        // Create a new transaction
        r = pakfire_transaction_create(&transaction, build->pakfire, 0);
-       if (r)
+       if (r < 0)
                goto ERROR;
 
        // Add all packages
        r = pakfire_packagelist_walk(build->packages, pakfire_build_install_package, transaction);
+       if (r < 0)
+               goto ERROR;
 
        // Solve the request
        r = pakfire_transaction_solve(transaction, PAKFIRE_SOLVE_SHOW_SOLUTIONS, &problems);