(stat): Treat UNC file names as residing on remote drives. (Bug#3542)

This commit is contained in:
Eli Zaretskii 2009-07-09 18:44:52 +00:00
parent 285284024b
commit fb8edc0bbd
2 changed files with 10 additions and 3 deletions

View file

@ -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.

View file

@ -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);