From 0d2b4093984f0927b4fb07de971bd7e077fee93c Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 25 Aug 2017 17:43:15 +0300 Subject: [PATCH] Fix file-name completion on network shares * src/w32.c (faccessat): Don't assume that F_OK is non-zero. (Bug#28207) --- src/w32.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/w32.c b/src/w32.c index a4be017d8ed..c989af6a46a 100644 --- a/src/w32.c +++ b/src/w32.c @@ -3908,7 +3908,9 @@ faccessat (int dirfd, const char * path, int mode, int flags) path = fullname; } - if (IS_DIRECTORY_SEP (path[strlen (path) - 1]) && (mode & F_OK) != 0) + /* When dired.c calls us with F_OK and a trailing slash, it actually + wants to know whether PATH is a directory. */ + if (IS_DIRECTORY_SEP (path[strlen (path) - 1]) && ((mode & F_OK) == F_OK)) mode |= D_OK; /* MSVCRT implementation of 'access' doesn't recognize D_OK, and its -- 2.39.2