mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-03-02 04:55:35 +08:00
* path.cc (cygwin_conv_path): Add band-aid including comment to avoid
conversion from POSIX "." to Win32 ".\\".
This commit is contained in:
parent
6d63272b53
commit
59cb363a5f
@ -1,3 +1,8 @@
|
|||||||
|
2009-12-21 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* path.cc (cygwin_conv_path): Add band-aid including comment to avoid
|
||||||
|
conversion from POSIX "." to Win32 ".\\".
|
||||||
|
|
||||||
2009-12-21 Corinna Vinschen <corinna@vinschen.de>
|
2009-12-21 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* exec.cc (execvp): Call find_exec with FE_NNF flag to enforce
|
* exec.cc (execvp): Call find_exec with FE_NNF flag to enforce
|
||||||
|
@ -2709,6 +2709,16 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to,
|
|||||||
*(buf += 2) = '\\';
|
*(buf += 2) = '\\';
|
||||||
}
|
}
|
||||||
lsiz = strlen (buf) + 1;
|
lsiz = strlen (buf) + 1;
|
||||||
|
/* TODO: Incoming "." is a special case which leads to a trailing
|
||||||
|
backslash ".\\" in the Win32 path. That's a result of the
|
||||||
|
conversion in normalize_posix_path. This should not occur
|
||||||
|
so the below code is just a band-aid. */
|
||||||
|
if (!strcmp ((const char *) from, ".") && relative
|
||||||
|
&& !strcmp (buf, ".\\"))
|
||||||
|
{
|
||||||
|
--lsiz;
|
||||||
|
buf[lsiz - 1] = '\0';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CCP_POSIX_TO_WIN_W:
|
case CCP_POSIX_TO_WIN_W:
|
||||||
@ -2727,7 +2737,16 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to,
|
|||||||
if (p.error)
|
if (p.error)
|
||||||
return_with_errno (p.error);
|
return_with_errno (p.error);
|
||||||
}
|
}
|
||||||
lsiz = (p.get_wide_win32_path_len () + 1) * sizeof (WCHAR);
|
lsiz = p.get_wide_win32_path_len () + 1;
|
||||||
|
/* TODO: Same ".\\" band-aid as in CCP_POSIX_TO_WIN_A case. */
|
||||||
|
if (!strcmp ((const char *) from, ".") && relative
|
||||||
|
&& !wcscmp (p.get_nt_native_path ()->Buffer, L".\\"))
|
||||||
|
{
|
||||||
|
--lsiz;
|
||||||
|
p.get_nt_native_path ()->Length -= sizeof (WCHAR);
|
||||||
|
p.get_nt_native_path ()->Buffer[lsiz - 1] = L'\0';
|
||||||
|
}
|
||||||
|
lsiz *= sizeof (WCHAR);
|
||||||
break;
|
break;
|
||||||
case CCP_WIN_A_TO_POSIX:
|
case CCP_WIN_A_TO_POSIX:
|
||||||
buf = tp.c_get ();
|
buf = tp.c_get ();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user