This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch to allow trailing dots on managed mounts

On Fri, Dec 17, 2004 at 12:17:10PM -0500, Pierre A. Humblet wrote:
>Christopher Faylor wrote:
>> On Thu, Dec 16, 2004 at 10:43:47PM -0500, Pierre A. Humblet wrote:
>> >
>> >The key point in my patch is that it's the output Win32 path
>> >that must be checked, not the input path.
>> How can that be?  As I mentioned previously, if you don't perform the
>> fixups prior to inspecting the mount table then "ls /bin.........."
>> won't work.

Huh, right back at you.  You *quoted* my article where I mentioned this
and didn't address it.

I did a little more research on XP.  I was under the impression that
windows allowed you to do something like:

dir c:\cygwin\bin.........\ls.exe

but it doesn't.

It does seem to allow

dir c:\cygwin\bin.\ls.exe

While I detest the trailing dot crap, I don't want cygwin to be inconsistent.
I don't want ls /bin./ls.exe to fail but ls /cygdrive/c/bin./ls.exe to work.

I'm not sure that it makes sense for ln -s foo "bar." to actually create a file
with a trailing dot on a non-managed mount either.  That seems to expose an
implementation detail of the way links are handled and it seems inconsistent
to me.

If we are "fixing" this (I firmly believe that the code in path_conv is never
really going to be right) then I don't want to add inconsistencies.

All of your points about your 2004/04 changes are understood.  I noted the
problems with symlinks and exe while I was scouring this code yesterday.  Some
of the conv_to and normalize functions also seem to have suffered from some
accretion so it is time for me to do a code audit.  I was changing jobs when
this code was put into cygwin in April.  I need to refamiliarize myself with
it now.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]