3.0.7(0.338/5/3): Possible reference to Developer's instances of dev files in deployed build
Ken Brown
kbrown@cornell.edu
Mon Dec 9 13:05:00 GMT 2019
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.
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
More information about the Cygwin
mailing list