On 12/9/2019 8:05 AM, Corinna Vinschen wrote:
> On Dec  9 12:47, Ken Brown wrote:
>> On 12/9/2019 4:17 AM, Corinna Vinschen wrote:
>>> On Dec  7 21:03, Ken Brown wrote:
>>>> I don't have any words of wisdom here, but I need to correct something I 
>>>> said
>>>> earlier.
>>>>
>>>> On 12/4/2019 3:50 PM, Ken Brown wrote:
>>>>> The assertion fails because 'Z:' doesn't contain a backslash.
>>>>
>>>> This is not quite right.  It's true that path_conv::check strips the 
>>>> trailing
>>>> backslash from Z:\, but then it adds it back before calling 
>>>> symlink_info::check:
>>>>
>>>>          /* If path is only a drivename, Windows interprets it as the
>>>>     current working directory on this drive instead of the root
>>>>     dir which is what we want. So we need the trailing backslash
>>>>     in this case. */
>>>>          if (full_path[0] && full_path[1] == ':' && full_path[2] == '\0')
>>>>    {
>>>>      full_path[2] = '\\';
>>>>      full_path[3] = '\0';
>>>>    }
>>>>
>>>> Thus symlink_info::check is in fact called on Z:\, but the assertion fails
>>>> because the code at path.cc:2905 is looking for a backslash prior to the
>>>> trailing backslash.  So maybe the right fix for the assertion failure is 
>>>> the
>>>> following:
>>>>
>>>> --- a/winsup/cygwin/path.cc
>>>> +++ b/winsup/cygwin/path.cc
>>>> @@ -2895,7 +2895,8 @@ restart:
>>>>                 slow down normal operation.  This extra check only kicks 
>>>> in if
>>>>                 we encountered a STATUS_OBJECT_NAME_NOT_FOUND *and* we 
>>>> didn't
>>>>                 already attach a suffix. */
>>>> -         if (!restarted && !*ext_here && !(mount_flags & MOUNT_DOS))
>>>> +         if (!restarted && !*ext_here && ext_here[-1] != '\\'
>>>> +             && !(mount_flags & MOUNT_DOS))
>>>>                {
>>>>                  /* Check for trailing dot or space or leading space in
>>>>                     last component. */
>>>
>>> Ok, please push that.  I'll create a snapshot so Wilfed can test this.
>>
>> Done.  I'll document it once Wilfed verifies that it fixes his problem.
> 
> Great!  I created new snapshots.
> 
> Wilfed, please test if the latest snapshot from
> https://cygwin.com/snapshots/ fixes your problem.

Tim, could you test it also to see if it solves the problem you reported in 
https://cygwin.com/ml/cygwin/2019-10/msg00155.html?

Thanks.

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to