Don't skip dot files when cleaning cache
This commit is contained in:
parent
1613b42411
commit
e6c9218319
2
main.c
2
main.c
@ -889,7 +889,7 @@ int main(int argc, char **argv)
|
||||
continue;
|
||||
}
|
||||
start = fileidx;
|
||||
while ((filename = r_readdir(&dir)) != NULL) {
|
||||
while ((filename = r_readdir(&dir, true)) != NULL) {
|
||||
check_add_file(filename, false);
|
||||
free((void*) filename);
|
||||
}
|
||||
|
2
sxiv.h
2
sxiv.h
@ -364,7 +364,7 @@ void error(int, int, const char*, ...);
|
||||
void size_readable(float*, const char**);
|
||||
int r_opendir(r_dir_t*, const char*, bool);
|
||||
int r_closedir(r_dir_t*);
|
||||
char* r_readdir(r_dir_t*);
|
||||
char* r_readdir(r_dir_t*, bool);
|
||||
int r_mkdir(char*);
|
||||
|
||||
|
||||
|
2
thumbs.c
2
thumbs.c
@ -131,7 +131,7 @@ void tns_clean_cache(tns_t *tns)
|
||||
|
||||
dirlen = strlen(cache_dir);
|
||||
|
||||
while ((cfile = r_readdir(&dir)) != NULL) {
|
||||
while ((cfile = r_readdir(&dir, false)) != NULL) {
|
||||
filename = cfile + dirlen;
|
||||
delete = false;
|
||||
|
||||
|
12
util.c
12
util.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user