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/



Reply via email to