]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix file-name completion on network shares
authorEli Zaretskii <eliz@gnu.org>
Fri, 25 Aug 2017 14:43:15 +0000 (17:43 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 25 Aug 2017 14:43:15 +0000 (17:43 +0300)
* src/w32.c (faccessat): Don't assume that F_OK is non-zero.
(Bug#28207)

src/w32.c

index a4be017d8ed69088888a02fcd4c6804aab3e08b2..c989af6a46a3d204c73e7344cbbc3970e5db2cc9 100644 (file)
--- 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