* path.cc (get_nt_native_path): Drop considerations for DOS devices.
Keep relative paths relative. (cygwin_conv_path): Don't try to skip native NT prefixes on relative paths.
This commit is contained in:
parent
abe2834a49
commit
24790b9cdb
|
@ -1,3 +1,10 @@
|
||||||
|
2008-06-11 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* path.cc (get_nt_native_path): Drop considerations for DOS devices.
|
||||||
|
Keep relative paths relative.
|
||||||
|
(cygwin_conv_path): Don't try to skip native NT prefixes on relative
|
||||||
|
paths.
|
||||||
|
|
||||||
2008-06-11 Corinna Vinschen <corinna@vinschen.de>
|
2008-06-11 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* include/cygwin/version.h (CYGWIN_VERSION_MOUNT_REGISTRY): Bump.
|
* include/cygwin/version.h (CYGWIN_VERSION_MOUNT_REGISTRY): Bump.
|
||||||
|
|
|
@ -626,9 +626,10 @@ get_nt_native_path (const char *path, UNICODE_STRING& upath, bool managed)
|
||||||
upath.Length = 0;
|
upath.Length = 0;
|
||||||
if (path[0] == '/') /* special path w/o NT path representation. */
|
if (path[0] == '/') /* special path w/o NT path representation. */
|
||||||
str2uni_cat (upath, path);
|
str2uni_cat (upath, path);
|
||||||
else if (path[0] != '\\') /* X:\... or NUL, etc. */
|
else if (path[0] != '\\') /* X:\... or relative path. */
|
||||||
{
|
{
|
||||||
str2uni_cat (upath, "\\??\\");
|
if (path[1] == ':') /* X:\... */
|
||||||
|
str2uni_cat (upath, "\\??\\");
|
||||||
str2uni_cat (upath, path);
|
str2uni_cat (upath, path);
|
||||||
transform_chars (&upath, 7, managed);
|
transform_chars (&upath, 7, managed);
|
||||||
}
|
}
|
||||||
|
@ -2832,9 +2833,13 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to,
|
||||||
PUNICODE_STRING up = p.get_nt_native_path ();
|
PUNICODE_STRING up = p.get_nt_native_path ();
|
||||||
buf = tp.c_get ();
|
buf = tp.c_get ();
|
||||||
sys_wcstombs (buf, NT_MAX_PATH, up->Buffer, up->Length / sizeof (WCHAR));
|
sys_wcstombs (buf, NT_MAX_PATH, up->Buffer, up->Length / sizeof (WCHAR));
|
||||||
buf += 4; /* Skip \??\ */
|
/* Convert native path to standard DOS path. */
|
||||||
if (buf[1] != ':') /* native UNC path */
|
if (!strncmp (buf, "\\??\\", 4))
|
||||||
*(buf += 2) = '\\';
|
{
|
||||||
|
buf += 4;
|
||||||
|
if (buf[1] != ':') /* native UNC path */
|
||||||
|
*(buf += 2) = '\\';
|
||||||
|
}
|
||||||
lsiz = strlen (buf) + 1;
|
lsiz = strlen (buf) + 1;
|
||||||
break;
|
break;
|
||||||
case CCP_POSIX_TO_WIN_W:
|
case CCP_POSIX_TO_WIN_W:
|
||||||
|
|
Loading…
Reference in New Issue