Unusual new look to symlinks to executables

Reini Urban rurban@x-ray.at
Wed Apr 6 05:53:00 GMT 2005


Eric Blake schrieb:
...
> Below is the table of how I think ln(1) ought to behave (I'm open to
> suggestions if others think differently).  Where ln(1) does not actually behave
> this way, I am open to help in patching coreutils to provide the desired
> functionality.  Hopefully my webmail interface didn't screw up this table too
> badly.
> 
>        existing:	a	a.exe	both	neither
> ln    a     b		1	4	4	0
> ln    a.exe b		0	2	2	0
> ln    a     b.exe	3	4	4	0
> ln    a.exe b.exe	0	4	4	0
> ln -s a     b		5	6	5	7
> ln -s a.exe b		9	8	8	9
> ln -s a     b.exe	10	11	10	12
> ln -s a.exe b.exe	14	13	13	14
> 
> results:
> 0.  error
> 1.  b is hardlink to a
> 2.  b is hardlink to a.exe
> 3.  b.exe is hardlink to a
> 4.  b.exe is hardlink to a.exe
> 5.  b is symlink, readlink b gives a, resolves to a
> 6.  b is symlink, readlink b gives a, resolves to a.exe
> 7.  b is symlink, readlink b gives a, dangling link
> 8.  b is symlink, readlink b gives a.exe, resolves to a.exe
> 9.  b is symlink, readlink b gives a.exe, dangling link
> 10. b.exe is symlink, readlink b.exe gives a, resolves to a
> 11. b.exe is symlink, readlink b.exe gives a, resolves to a.exe
> 12. b.exe is symlink, readlink b.exe gives a, dangling link
> 13. b.exe is symlink, readlink b.exe gives a.exe, resolves to a.exe
> 14. b.exe is symlink, readlink b.exe gives a.exe, dangling link
> 
> I guess one final question is whether cygwin's readlink(2) should be allowed to
> append .exe if that's what the symlink currently resolves to, or if it should
> always return exactly what is contained in the link.  My table above assumes
> that readlink(2) does not auto-append .exe when resolving a symlink.
> 
> --
> Eric Blake
> (coreutils maintainer)

Eric,
Just a big thank you, that you are doing a really great job!

-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban
http://phpwiki.org

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



More information about the Cygwin mailing list