summaryrefslogtreecommitdiffstats
path: root/src/io/resource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/resource.cpp')
-rw-r--r--src/io/resource.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/io/resource.cpp b/src/io/resource.cpp
index dbce8a3f4..6a388c1ac 100644
--- a/src/io/resource.cpp
+++ b/src/io/resource.cpp
@@ -23,6 +23,7 @@
#include <glibmm/miscutils.h>
#include <glibmm/stringutils.h>
#include <glibmm/fileutils.h>
+
#include "path-prefix.h"
#include "io/sys.h"
#include "io/resource.h"
@@ -218,13 +219,15 @@ void get_filenames_from_path(std::vector<Glib::ustring> &files, Glib::ustring pa
while (!file.empty()){
bool reject = false;
for (auto &ext: extensions) {
- reject = reject || !Glib::str_has_suffix(file, ext);
+ reject |= !Glib::str_has_suffix(file, ext);
}
for (auto &exc: exclusions) {
- reject = reject || (file == exc);
+ reject |= Glib::str_has_prefix(file, exc);
}
+ Glib::ustring filename = Glib::build_filename(path, file);
+ reject |= !Glib::file_test(filename, Glib::FILE_TEST_IS_REGULAR);
if(!reject) {
- files.push_back(Glib::build_filename(path, file));
+ files.push_back(filename);
}
file = dir.read_name();
}