diff options
author | Paride Legovini <pl@ninthfloor.org> | 2016-09-28 18:59:15 +0200 |
---|---|---|
committer | Bert Münnich <ber.t@posteo.de> | 2016-09-28 19:27:48 +0200 |
commit | 86dc6860f9def64ad554a7c69eeae28203661e2c (patch) | |
tree | fc80e651e96c22990c941091985cd1e992403a1a /util.c | |
parent | d69f39e3aad6a7c5fb110dabb068a7bbb2229750 (diff) |
Allow opening directories non-recursively
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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) |