summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2020-06-25 11:16:54 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2020-06-25 11:16:54 +0100
commite0e21929b7426b9b5bbf5e3747797043801b1151 (patch)
tree924b9b25185210bb8fc32a45a45628e04ed6985b /src
parent1077d3c3f960c4e5a157c51815b8009f5114ab1a (diff)
Lookups: Fix "subdir" filter on a dsearch.
Diffstat (limited to 'src')
-rw-r--r--src/src/lookups/dsearch.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/src/lookups/dsearch.c b/src/src/lookups/dsearch.c
index 455273fb1..501293ac0 100644
--- a/src/src/lookups/dsearch.c
+++ b/src/src/lookups/dsearch.c
@@ -125,8 +125,7 @@ if ( Ulstat(filename, &statbuf) >= 0
&& S_ISDIR(statbuf.st_mode)
&& ( flags & FILTER_DIR
|| keystring[0] != '.'
- || keystring[1] != '.'
- || keystring[1] && keystring[2]
+ || keystring[1] && keystring[1] != '.'
) ) ) )
{
/* Since the filename exists in the filesystem, we can return a
@@ -135,10 +134,10 @@ if ( Ulstat(filename, &statbuf) >= 0
return OK;
}
-if (errno == ENOENT) return FAIL;
+if (errno == ENOENT || errno == 0) return FAIL;
save_errno = errno;
-*errmsg = string_sprintf("%s: lstat failed", filename);
+*errmsg = string_sprintf("%s: lstat: %s", filename, strerror(errno));
errno = save_errno;
return DEFER;
}