]> git.eshelyaron.com Git - emacs.git/commitdiff
(stat): Treat UNC file names as residing on remote drives. (Bug#3542)
authorEli Zaretskii <eliz@gnu.org>
Fri, 10 Jul 2009 08:48:11 +0000 (08:48 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 10 Jul 2009 08:48:11 +0000 (08:48 +0000)
src/w32.c

index cd95f60e84fa0a9ac8d496120f4c5d129928d8c4..a208b13a08d04bb3f19bd98d989daba8aa42f030 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -3154,11 +3154,13 @@ stat (const char * path, struct stat * buf)
        }
     }
 
-  /* GetDriveType needs the root directory of NAME's drive.  */
-  if (!(strlen (name) >= 2 && IS_DEVICE_SEP (name[1])))
-    devtype = GetDriveType (NULL); /* use root of current diectory */
+  if (IS_DIRECTORY_SEP (name[0]) && IS_DIRECTORY_SEP (name[1]))
+    devtype = DRIVE_REMOTE;       /* assume UNC name is remote */
+  else if (!(strlen (name) >= 2 && IS_DEVICE_SEP (name[1])))
+    devtype = GetDriveType (NULL); /* use root of current drive */
   else
     {
+      /* GetDriveType needs the root directory of NAME's drive.  */
       strncpy (drive_root, name, 3);
       drive_root[3] = '\0';
       devtype = GetDriveType (drive_root);