[PATCH] Cygwin: normalize_win32_path: allow drive without trailing backslash
Corinna Vinschen
corinna-cygwin@cygwin.com
Fri Jan 17 09:19:00 GMT 2020
On Jan 15 17:46, Ken Brown wrote:
> Commit 283cb372, "Cygwin: normalize_win32_path: improve error
> checking", required a prefix '\\?\' or '\??\' in the source path to be
> followed by 'UNC\' or 'X:\', where X is a drive letter. That was too
> restrictive, since it disallowed the paths '\\?\X: and '\??\X:'. This
> caused problems when a user tried to use the root of a drive as the
> Cygwin installation root, as reported here:
>
> https://cygwin.com/ml/cygwin/2020-01/msg00111.html
>
> Modify the requirement so that '\??\X:' and '\\?\X:' are now allowed
> as source paths, without a trailing backslash.
> ---
> winsup/cygwin/path.cc | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
> index c8e73c64c..a00270210 100644
> --- a/winsup/cygwin/path.cc
> +++ b/winsup/cygwin/path.cc
> @@ -1411,7 +1411,7 @@ normalize_win32_path (const char *src, char *dst, char *&tail)
> && src[2] == '?' && isdirsep (src[3]))
> {
> src += 4;
> - if (isdrive (src) && isdirsep (src[2]))
> + if (isdrive (src) && (isdirsep (src[2]) || !src[2]))
> beg_src_slash = false;
> else if (!strncmp (src, "UNC", 3) && isdirsep (src[3]))
> /* native UNC path */
> --
> 2.21.0
Looks good, please push.
Thanks,
Corinna
--
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20200117/f92962ce/attachment.sig>
More information about the Cygwin-patches
mailing list