summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_process.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-10-15 19:13:57 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-10-15 19:13:57 +0000
commita9cc13a8e053756f127c1360b2981dcb4e458966 (patch)
tree957de62d7ca8fa58cdf5d1b62723d541cf30fbd0 /winsup/cygwin/fhandler_process.cc
parentc52fd6cd475b1e65f7c5e1eda4b1f4600553ae30 (diff)
downloadcygnal-a9cc13a8e053756f127c1360b2981dcb4e458966.tar.gz
cygnal-a9cc13a8e053756f127c1360b2981dcb4e458966.tar.bz2
cygnal-a9cc13a8e053756f127c1360b2981dcb4e458966.zip
* fhandler_process.cc (dos_drive_mappings::fixup_if_match): Convert
native NT network paths into DOS UNC paths.
Diffstat (limited to 'winsup/cygwin/fhandler_process.cc')
-rw-r--r--winsup/cygwin/fhandler_process.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc
index 128b35aa4..305bb9ba6 100644
--- a/winsup/cygwin/fhandler_process.cc
+++ b/winsup/cygwin/fhandler_process.cc
@@ -605,6 +605,14 @@ struct dos_drive_mappings
wchar_t *fixup_if_match (wchar_t *path)
{
+ /* Check for network drive first. */
+ if (!wcsncmp (path, L"\\Device\\Mup\\", 12))
+ {
+ path += 10;
+ path[0] = L'\\';
+ return path;
+ }
+ /* Then test local drives. */
for (mapping *m = mappings; m; m = m->next)
if (!wcsncmp (m->mapping, path, m->len))
{