This is the mail archive of the cygwin-patches 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] Reattach trailing dirsep on existing directories too.

On Wed, Jan 8, 2014 at 9:20 AM, Corinna Vinschen wrote:
> On Jan  7 18:15, Ray Donnelly wrote:
>> On Tue, Jan 7, 2014 at 3:12 PM, Corinna Vinschen wrote:
>> > On Dec 22 01:03, Ray Donnelly wrote:
>> >> I hope this is OK and I've done it in the best place. Please advise if
>> >> it needs any changes.
>> >
>> > I have no idea if this is ok.  This is a patch to a very crucial
>> > function in terms of path handling, and it's not clear that this isn't
>> > doing the wrong thing.  What is this patch trying to accomplish?  Do you
>> > have example user space code which is failing for this very reason?
>> The exact issue was that paths that do not exist would maintain their
>> final dirsep whereas paths that do exist would lose this dirsep:
>> test.exe /c/doesnt-exist/ /c/does-exist/
>> test.exe would see:
>> arg1: C:/doesnt-exist/
>> arg2: C:/does-exist
>> These paths were passed to GCC as search paths and while I could've
>> hacked up the GCC code to detect and correct this anomaly, but I think
>> this patch fixes the problem at cause.
> And that is a problem, because...?

.. because in this case, GCC appends sysroots directly to those
passed-in-as-#define values and I end up with e.g. C:/does-existusr/
and C:/doesnt-exist/usr/, when I always wanted the final /. Of course
I could add some nasty hacks in GCC and any other program that runs
into this odd behavioural quirk to detect and workaround it, but IMHO
fixing the quirk is a better approach.

Someone's gone to the effort to re-attach the dirsep when the folder
doesn't exist so they must have thought that preserving this was a
good idea, I've just fixed a corner case in that so the results are
> Corinna
> --
> Corinna Vinschen                  Please, send mails regarding Cygwin to
> Cygwin Maintainer                 cygwin AT cygwin DOT com
> Red Hat

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