Corner-case bug in .exe handling?

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Mar 20 09:24:00 GMT 2019


On Mar 19 18:02, Yaakov Selkowitz wrote:
> Just came across this with 3.0.4 on both Win7 and Win10 1804:
> 
> $ ls -1 /usr/bin/python2.7
> /usr/bin/python2.7
> $ ls -1 /usr/bin/python[2-9].[0-9]
> /usr/bin/python3.5
> /usr/bin/python3.6
> /usr/bin/python3.7
> /usr/bin/python3.8
> 
> python2.7 is the actual .exe where python3.* are symlinks, but
> shouldn't 2.7 still be included in the latter?

No, even if that looks weird.  But think about what happens.  ls calls
readddir.  readdir returns "python2.7.exe".  The matching is not done by
Cygwin, but by the shell.  And python2.7.exe simply doesn't match
"python[2-9].[0-9]".

Nothing Cygwin can do about, unless we suppress the .exe suffix in
readdir/realpath/readlink output just like we do with the ".lnk" suffix
for the old winsymlink symlink style.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20190320/6eadaaa3/attachment.sig>


More information about the Cygwin mailing list