cvs commit: src/sys/kern vfs_syscalls.c
Simon 'corecode' Schubert
corecode at fs.ei.tum.de
Wed Aug 17 07:34:31 PDT 2005
On 16.08.2005, at 15:43, Joerg Sonnenberger wrote:
Exactly. Re-reading the standard, it isn't just clear: it's
absolutely
clear. This is just about symlinks.
SUS:
If either the old or new argument names a symbolic link, rename() shall
operate on the symbolic link itself, and shall not resolve the last
component of the argument. If the old argument and the new argument
resolve to the same existing file, rename() shall return successfully
and perform no other action.
Interpretation:
If old or new is a symlink, all but the last companent of the argument
is resolved. The result are two pairs (directory, last component). If
those two resolve to the same file (as in inodes pointed to by the
entry
"last component" in "direcory"), it shall return successfully without
any other action.
You use two different interpretations of "to resolve": one time mapping
symlinks (and probably `..') into real paths, and the other time
mapping real paths to inodes. If the standard was to mean that, they
would clarify this. In this context (symlinks) resolving clearly only
means the former.
I.e. if realpath(old) == realpath(new), then return with success.
cheers
simon
--
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low $$$ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
Attachment:
PGP.sig
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00021.pgp
Type: application/octet-stream
Size: 186 bytes
Desc: "Description: This is a digitally signed message part"
URL: <http://lists.dragonflybsd.org/pipermail/commits/attachments/20050817/1e1150b3/attachment-0022.obj>
More information about the Commits
mailing list