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?
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. cgf