diff options
author | Kacper Gutowski <klg@mmax.one.pl> | 2018-07-05 03:39:27 +0200 |
---|---|---|
committer | Bert Münnich <ber.t@posteo.de> | 2018-07-30 10:28:35 +0200 |
commit | e6c9218319b82b875ffb0c15dd88f8f6e77c50e2 (patch) | |
tree | f510779fd20d4d7a1affbd9256e8faba46a93da2 /util.c | |
parent | 1613b42411788810d73252ac86952b3e66c866ba (diff) | |
download | nsxiv-e6c9218319b82b875ffb0c15dd88f8f6e77c50e2.tar.zst |
Don't skip dot files when cleaning cache
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -134,7 +134,7 @@ int r_closedir(r_dir_t *rdir) return ret; } -char* r_readdir(r_dir_t *rdir) +char* r_readdir(r_dir_t *rdir, bool skip_dotfiles) { size_t len; char *filename; @@ -143,8 +143,14 @@ char* r_readdir(r_dir_t *rdir) while (true) { if (rdir->dir != NULL && (dentry = readdir(rdir->dir)) != NULL) { - if (dentry->d_name[0] == '.') - continue; + if (dentry->d_name[0] == '.') { + if (skip_dotfiles) + continue; + if (dentry->d_name[1] == '\0') + continue; + if (dentry->d_name[1] == '.' && dentry->d_name[2] == '\0') + continue; + } len = strlen(rdir->name) + strlen(dentry->d_name) + 2; filename = (char*) emalloc(len); |