summaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
authorParide Legovini <pl@ninthfloor.org>2016-09-28 18:59:15 +0200
committerBert Münnich <ber.t@posteo.de>2016-09-28 19:27:48 +0200
commit86dc6860f9def64ad554a7c69eeae28203661e2c (patch)
treefc80e651e96c22990c941091985cd1e992403a1a /util.c
parentd69f39e3aad6a7c5fb110dabb068a7bbb2229750 (diff)
downloadnsxiv-86dc6860f9def64ad554a7c69eeae28203661e2c.tar.zst
Allow opening directories non-recursively
Diffstat (limited to 'util.c')
-rw-r--r--util.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util.c b/util.c
index 070101e..395a345 100644
--- a/util.c
+++ b/util.c
@@ -89,7 +89,7 @@ void size_readable(float *size, const char **unit)
*unit = units[MIN(i, ARRLEN(units) - 1)];
}
-int r_opendir(r_dir_t *rdir, const char *dirname)
+int r_opendir(r_dir_t *rdir, const char *dirname, bool recursive)
{
if (*dirname == '\0')
return -1;
@@ -106,6 +106,7 @@ int r_opendir(r_dir_t *rdir, const char *dirname)
rdir->name = (char*) dirname;
rdir->d = 0;
+ rdir->recursive = recursive;
return 0;
}
@@ -167,7 +168,7 @@ char* r_readdir(r_dir_t *rdir)
return filename;
}
- if (rdir->stlen > 0) {
+ if (rdir->recursive && rdir->stlen > 0) {
/* open next subdirectory */
closedir(rdir->dir);
if (rdir->d != 0)