This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: path conversion regression?
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-developers at cygwin dot com
- Date: Fri, 9 Jan 2009 10:09:11 +0100
- Subject: Re: path conversion regression?
- References: <20090109054336.GA13143@ednor.casa.cgf.cx>
- Reply-to: cygwin-developers at cygwin dot com
On Jan 9 00:43, Christopher Faylor wrote:
> Shouldn't this:
>
> cygpath -u 'c:\cygwin\bin\cygwin1.dll'
> ^
>
> be equivalent to:
>
> cygpath -u 'C:\cygwin\bin\cygwin1.dll'
> ^
>
> ?
>
> I just checked in a change to cause Cygwin to treat them as equivalent.
> Previously 1.7 exactly matched whatever was in the mount table. If the
> mount table had a lowercase c:\... it would not match an uppercase C:\...
That shouldn't have happened, unless the path is treated as casesensitive.
With CS, the NT kernel requires the drive letters uppercase, as stored in
the NT namespace. So far only get_nt_native_path() forced the drive letter
to uppercase.
I thought the code I added lately (*) had taken care of DOS paths so that
they are always treated caseinsensitive so your patch shouldn't have been
necessary. Looks like that doesn't work as advertised. I take a look.
Hmm, the mount table entries are another point. I think what we really
should do is to convert all incoming DOS paths, no matter where they
come from, to an uppercased drive letter. Later code then doesn't have
to care for the case anymore.
Corinna
(*) http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/path.cc.diff?cvsroot=src&r1=1.532&r2=1.533
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat