aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fastiv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fastiv.c b/fastiv.c
index 39b0c5e..6a74216 100644
--- a/fastiv.c
+++ b/fastiv.c
@@ -292,7 +292,11 @@ load_directory(const gchar *dirname)
GDir *dir = g_dir_open(dirname, 0, &error);
if (dir) {
for (const gchar *name = NULL; (name = g_dir_read_name(dir)); ) {
- if (!is_supported(name))
+ // This really wants to make you use readdir() directly.
+ char *absolute = g_canonicalize_filename(name, g.directory);
+ gboolean is_dir = g_file_test(absolute, G_FILE_TEST_IS_DIR);
+ g_free(absolute);
+ if (is_dir || !is_supported(name))
continue;
// XXX: We presume that this basename is from the same directory.