summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/w32.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fec0b8ec0cd..e64812b43a8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-09 Eli Zaretskii <eliz@gnu.org>
+
+ * w32.c (stat): Treat UNC file names as residing on remote
+ drives. (Bug#3542)
+
2009-07-09 Kenichi Handa <handa@m17n.org>
* fontset.c (fontset_find_font): Fix previous change.
diff --git a/src/w32.c b/src/w32.c
index ef0272259c4..2a7be366aec 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -3347,11 +3347,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);