From: Michael Tremer Date: Mon, 19 Sep 2022 17:58:59 +0000 (+0000) Subject: packager: Use pakfire_filelist_walk to add files X-Git-Tag: 0.9.28~300 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d5da764891bd5215a1887af6f3bd27ddfb30fe5;p=pakfire.git packager: Use pakfire_filelist_walk to add files Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/build.c b/src/libpakfire/build.c index fc2f42a71..e26a3f0a4 100644 --- a/src/libpakfire/build.c +++ b/src/libpakfire/build.c @@ -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; diff --git a/src/libpakfire/dist.c b/src/libpakfire/dist.c index 54011c79f..b241617b8 100644 --- a/src/libpakfire/dist.c +++ b/src/libpakfire/dist.c @@ -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; diff --git a/src/libpakfire/include/pakfire/packager.h b/src/libpakfire/include/pakfire/packager.h index 3209d2a8f..71c05f928 100644 --- a/src/libpakfire/include/pakfire/packager.h +++ b/src/libpakfire/include/pakfire/packager.h @@ -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); diff --git a/src/libpakfire/packager.c b/src/libpakfire/packager.c index 193043183..db2be22b5 100644 --- a/src/libpakfire/packager.c +++ b/src/libpakfire/packager.c @@ -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,