diff options
author | Christopher Faylor <me@cgf.cx> | 2002-06-05 04:01:43 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2002-06-05 04:01:43 +0000 |
commit | ce006ffa7f6985c2dbe6128d74ba6beda562743a (patch) | |
tree | f06848351ed62f45e8034e2d5c5eb69f36a5f87e /winsup/cygwin/dtable.cc | |
parent | 147d2ab4949aec9a3b510e1ee43399a9e6261122 (diff) | |
download | cygnal-ce006ffa7f6985c2dbe6128d74ba6beda562743a.tar.gz cygnal-ce006ffa7f6985c2dbe6128d74ba6beda562743a.tar.bz2 cygnal-ce006ffa7f6985c2dbe6128d74ba6beda562743a.zip |
* dtable.cc (handle_to_fn): Attempt to handle "raw" accesses to remote shares.
* path.cc (mount_info::conv_to_win32_path): Set flags to binary when mount
entry is not found.
(mount_info::set_flags_from_win32_path): Ditto.
Diffstat (limited to 'winsup/cygwin/dtable.cc')
-rw-r--r-- | winsup/cygwin/dtable.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc index e2821db4b..62c960917 100644 --- a/winsup/cygwin/dtable.cc +++ b/winsup/cygwin/dtable.cc @@ -718,6 +718,9 @@ handle_to_fn (HANDLE h, char *posix_fn) #else #define DEVICE_PREFIX "\\device\\" #define DEVICE_PREFIX_LEN sizeof(DEVICE_PREFIX) - 1 +#define REMOTE "\\Device\\LanmanRedirector\\" +#define REMOTE_LEN sizeof (REMOTE) - 1 + static char * handle_to_fn (HANDLE h, char *posix_fn) { @@ -794,6 +797,13 @@ handle_to_fn (HANDLE h, char *posix_fn) memcpy (w32, maxmatchdos, n); w32[n] = '\\'; } + else if (strncasematch (w32, REMOTE, REMOTE_LEN)) + { + w32 += REMOTE_LEN - 2; + *w32 = '\\'; + debug_printf ("remote drive"); + } + debug_printf ("derived path '%s'", w32); cygwin_conv_to_full_posix_path (w32, posix_fn); |