aboutsummaryrefslogtreecommitdiff
path: root/bin/gensquashfs/src/glob.c
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-10-24 14:45:36 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-10-24 15:57:18 +0200
commit3c70940f4c1b8534e1ef547e09050d33b8187122 (patch)
treeb920e94c70f0317e3723c50f2c8e0138828e9f2f /bin/gensquashfs/src/glob.c
parentd17f308b24a332d1767888e086ece9a2e71a891d (diff)
Cleanup: gensquashfs: merge glob scan_directory & fstree_from_dir
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'bin/gensquashfs/src/glob.c')
-rw-r--r--bin/gensquashfs/src/glob.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/bin/gensquashfs/src/glob.c b/bin/gensquashfs/src/glob.c
index bc6edee..73f078b 100644
--- a/bin/gensquashfs/src/glob.c
+++ b/bin/gensquashfs/src/glob.c
@@ -64,8 +64,8 @@ static bool set_scan_flag(const char *arg, dir_tree_cfg_t *cfg)
return false;
}
-static int scan_directory(fstree_t *fs, sqfs_dir_iterator_t *dir,
- size_t prefix_len, const char *file_prefix)
+int scan_directory(fstree_t *fs, sqfs_dir_iterator_t *dir,
+ size_t prefix_len, const char *file_prefix)
{
for (;;) {
sqfs_dir_entry_t *ent = NULL;
@@ -96,7 +96,8 @@ static int scan_directory(fstree_t *fs, sqfs_dir_iterator_t *dir,
free(ent);
return -1;
}
- } else if (S_ISREG(ent->mode)) {
+ } else if (S_ISREG(ent->mode) &&
+ (prefix_len > 0 || file_prefix != NULL)) {
const char *src;
/* skip the prefix, get the name actually