]> git.ipfire.org Git - pakfire.git/commitdiff
packager: Use pakfire_filelist_walk to add files
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 19 Sep 2022 17:58:59 +0000 (17:58 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 19 Sep 2022 17:58:59 +0000 (17:58 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/build.c
src/libpakfire/dist.c
src/libpakfire/include/pakfire/packager.h
src/libpakfire/packager.c

index fc2f42a714bf71ffbb2548f9cd6d52688c754254..e26a3f0a493696a20fd78f14d4016cd62aec82f1 100644 (file)
@@ -350,7 +350,7 @@ static int pakfire_build_package_add_files(struct pakfire_build* build,
        }
 
        // Add all files to the package
-       r = pakfire_packager_add_files(packager, filelist, 1);
+       r = pakfire_packager_add_files(packager, filelist);
        if (r)
                goto ERROR;
 
index 54011c79f1fd112ef24c3cb9dbc1959f88ba0b6c..b241617b89e9bf571d7d30301d9c1b74c92b3b34 100644 (file)
@@ -352,7 +352,7 @@ static int pakfire_dist_add_files(struct pakfire* pakfire, struct pakfire_packag
                goto ERROR;
 
        // Add all files to the package
-       r = pakfire_packager_add_files(packager, filelist, 0);
+       r = pakfire_packager_add_files(packager, filelist);
        if (r)
                goto ERROR;
 
index 3209d2a8fbdb49866bfcdf89848329478056c931..71c05f9288bff66202cd00dc3223ee91d943fe21 100644 (file)
@@ -48,7 +48,7 @@ int pakfire_packager_finish_to_directory(struct pakfire_packager* packager,
 int pakfire_packager_add_file(
        struct pakfire_packager* packager, struct pakfire_file* file);
 int pakfire_packager_add_files(struct pakfire_packager* packager,
-       struct pakfire_filelist* filelist, int cleanup);
+       struct pakfire_filelist* filelist);
 int pakfire_packager_add(struct pakfire_packager* packager,
        const char* sourcepath, const char* path);
 
index 193043183936b6b78d6d4f7be9b6ed7cad657e01..db2be22b564d08af54e1910b15a3aedfee7868b6 100644 (file)
@@ -606,39 +606,18 @@ ERROR:
        return r;
 }
 
-int pakfire_packager_add_files(struct pakfire_packager* packager,
-               struct pakfire_filelist* filelist, int cleanup) {
-       struct pakfire_file* file = NULL;
-       int r;
-
-       // Fetch length of the filelist
-       const size_t length = pakfire_filelist_size(filelist);
-
-       // Add all files to the package
-       for (unsigned int i = 0; i < length; i++) {
-               file = pakfire_filelist_get(filelist, i);
-
-               // Add the file to the package
-               r = pakfire_packager_add_file(packager, file);
-               if (r) {
-                       pakfire_file_unref(file);
-                       goto ERROR;
-               }
+static int __pakfire_packager_add_files(struct pakfire* pakfire,
+               struct pakfire_file* file, void* p) {
+       struct pakfire_packager* packager = (struct pakfire_packager*)p;
 
-               // Remove the file after it was packaged
-               if (cleanup) {
-                       r = pakfire_file_cleanup(file);
-                       if (r) {
-                               pakfire_file_unref(file);
-                               goto ERROR;
-                       }
-               }
-
-               pakfire_file_unref(file);
-       }
+       return pakfire_packager_add_file(packager, file);
+}
 
-ERROR:
-       return r;
+int pakfire_packager_add_files(
+               struct pakfire_packager* packager, struct pakfire_filelist* filelist) {
+       // Add all files on the filelist
+       return pakfire_filelist_walk(
+               packager->filelist, __pakfire_packager_add_files, packager);
 }
 
 int pakfire_packager_add_scriptlet(struct pakfire_packager* packager,