summaryrefslogtreecommitdiffstats
path: root/src/filesystem.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-08-05 23:35:42 +0200
committerDavid Robillard <d@drobilla.net>2020-08-06 17:34:42 +0200
commit17888cbea7107d22034d761ee6f5abceedf6e6d3 (patch)
tree1b1309b220eb6ddc375b626eb76cbcf09b207df3 /src/filesystem.c
parent36af38408e9e5ba2c49738ad08ff2b959bcf7e27 (diff)
downloadlilv-17888cbea7107d22034d761ee6f5abceedf6e6d3.tar.gz
lilv-17888cbea7107d22034d761ee6f5abceedf6e6d3.tar.bz2
lilv-17888cbea7107d22034d761ee6f5abceedf6e6d3.zip
Make lilv_dir_for_each() ignore dot entries
Diffstat (limited to 'src/filesystem.c')
-rw-r--r--src/filesystem.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/filesystem.c b/src/filesystem.c
index 27476ec..957629b 100644
--- a/src/filesystem.c
+++ b/src/filesystem.c
@@ -324,7 +324,9 @@ lilv_dir_for_each(const char* path,
HANDLE fh = FindFirstFile(pat, &fd);
if (fh != INVALID_HANDLE_VALUE) {
do {
- f(path, fd.cFileName, data);
+ if (strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, "..")) {
+ f(path, fd.cFileName, data);
+ }
} while (FindNextFile(fh, &fd));
}
free(pat);
@@ -332,7 +334,9 @@ lilv_dir_for_each(const char* path,
DIR* dir = opendir(path);
if (dir) {
for (struct dirent* entry = NULL; (entry = readdir(dir));) {
- f(path, entry->d_name, data);
+ if (strcmp(entry->d_name, ".") && strcmp(entry->d_name, "..")) {
+ f(path, entry->d_name, data);
+ }
}
closedir(dir);
}