Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
goto ERROR;
// Scan for any files
- r = pakfire_filelist_scan(filelist, root, NULL, pakfire_dist_excludes, 0);
+ r = pakfire_filelist_scan(filelist, root, NULL, pakfire_dist_excludes,
+ PAKFIRE_FILELIST_NO_DIRECTORIES);
if (r)
goto ERROR;
if (!path || !*path)
return 0;
+ // Should we skip any directories?
+ if (matches->flags & PAKFIRE_FILELIST_NO_DIRECTORIES) {
+ mode_t filetype = archive_entry_filetype(entry);
+
+ if (filetype == S_IFDIR)
+ return 0;
+ }
+
// Skip excludes
if (matches->excludes &&
pakfire_filelist_match_patterns(path, matches->excludes, matches->flags))
enum pakfire_filelist_scan_flags {
PAKFIRE_FILELIST_EXTENDED_MATCHING = (1 << 0),
+ PAKFIRE_FILELIST_NO_DIRECTORIES = (1 << 1),
};
int pakfire_filelist_scan(struct pakfire_filelist* list, const char* root,