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);
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,