aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/nnn.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/nnn.c b/src/nnn.c
index 2b8eafc..12fafa9 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -2519,9 +2519,10 @@ static int dentfill(char *path, struct entry **dents)
/* Flag if this is a dir or symlink to a dir */
if (S_ISDIR(sb.st_mode))
dentp->flags |= DIR_OR_LINK_TO_DIR;
- else if (!S_ISLNK(sb.st_mode))
- dentp->flags &= ~DIR_OR_LINK_TO_DIR;
- else {
+ else if (!S_ISLNK(sb.st_mode)) {
+ if (dentp->flags & DIR_OR_LINK_TO_DIR)
+ dentp->flags &= ~DIR_OR_LINK_TO_DIR;
+ } else {
if (!fstatat(fd, namep, &sb, 0)) {
if (S_ISDIR(sb.st_mode))
dentp->flags |= DIR_OR_LINK_TO_DIR;