summaryrefslogtreecommitdiff
path: root/src/libbasic/dirent-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libbasic/dirent-util.c')
-rw-r--r--src/libbasic/dirent-util.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/libbasic/dirent-util.c b/src/libbasic/dirent-util.c
index 5fb535cb13..59067121b7 100644
--- a/src/libbasic/dirent-util.c
+++ b/src/libbasic/dirent-util.c
@@ -52,12 +52,10 @@ int dirent_ensure_type(DIR *d, struct dirent *de) {
bool dirent_is_file(const struct dirent *de) {
assert(de);
- if (hidden_file(de->d_name))
+ if (!IN_SET(de->d_type, DT_REG, DT_LNK, DT_UNKNOWN))
return false;
- if (de->d_type != DT_REG &&
- de->d_type != DT_LNK &&
- de->d_type != DT_UNKNOWN)
+ if (hidden_or_backup_file(de->d_name))
return false;
return true;
@@ -66,12 +64,10 @@ bool dirent_is_file(const struct dirent *de) {
bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix) {
assert(de);
- if (de->d_type != DT_REG &&
- de->d_type != DT_LNK &&
- de->d_type != DT_UNKNOWN)
+ if (!IN_SET(de->d_type, DT_REG, DT_LNK, DT_UNKNOWN))
return false;
- if (hidden_file_allow_backup(de->d_name))
+ if (de->d_name[0] == '.')
return false;
return endswith(de->d_name, suffix);