From: Michael Tremer Date: Wed, 24 Aug 2022 08:38:30 +0000 (+0000) Subject: dist: Use filelist to scan for any source files X-Git-Tag: 0.9.28~385 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bb34d09af59dad34cb678f4a1b143a5c68be75a;p=pakfire.git dist: Use filelist to scan for any source files Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/dist.c b/src/libpakfire/dist.c index 9f06ffedf..49eb06e9d 100644 --- a/src/libpakfire/dist.c +++ b/src/libpakfire/dist.c @@ -320,6 +320,7 @@ ERROR: static int pakfire_dist_add_files(struct pakfire* pakfire, struct pakfire_packager* packager, const char* path) { + struct pakfire_filelist* filelist = NULL; int r = 1; // Find the parent directory @@ -329,45 +330,24 @@ static int pakfire_dist_add_files(struct pakfire* pakfire, struct pakfire_packag DEBUG(pakfire, "Adding all files in '%s' to package...\n", dirname); - char* paths[2] = { - (char*)dirname, NULL, - }; - - FTS* f = fts_open(paths, FTS_NOCHDIR|FTS_NOSTAT, NULL); - if (!f) + // Create a new filelist + r = pakfire_filelist_create(&filelist, pakfire); + if (r) goto ERROR; - for (;;) { - FTSENT* fent = fts_read(f); - if (!fent) - break; - - // Only handle files - if (fent->fts_info & FTS_F) { - const char* filename = pakfire_path_relpath(dirname, fent->fts_path); - if (filename) - filename++; - - DEBUG(pakfire, "Adding '%s' to package...\n", filename); - - r = pakfire_packager_add(packager, fent->fts_path, filename); - if (r) - goto ERROR; - } - } - - // If fts_read() encountered an error, errno will be set - if (errno) { - r = 1; + // Scan for any files + r = pakfire_filelist_scan(filelist, dirname, NULL, NULL); + if (r) goto ERROR; - } - // Success - r = 0; + // Add all files to the package + r = pakfire_packager_add_files(packager, filelist, 0); + if (r) + goto ERROR; ERROR: - if (f) - fts_close(f); + if (filelist) + pakfire_filelist_unref(filelist); return r; }