This is the mail archive of the cygwin 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] |
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. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |