>Date: Fri, 15 Jun 2001 22:57:56 +1000 (EST)
>From: Bruce Evans <[EMAIL PROTECTED]>

>> Maybe we need to fix symlink(2) then ?

>Maybe, but this doesn't seem to be permitted by POSIX.1-200x:

>P>    int symlink(const char *path1, const char *path2);
>P>    ...
>P>    The string pointed to by path1 shall be treated only as a character
>P>    string and shall not be validated as a pathname.

>symlink.2 is fuzzier and can be read as reqiring that the first arg is
>a (valid) "path name".

>B>    int
>B>    symlink(const char *name1, const char *name2);
>B>    ...
>B>    A symbolic link name2 is created to name1 (name2 is the name of the file
>B>    created, name1 is the string used in creating the symbolic link). Either
>B>    name may be an arbitrary path name; the files need not be on the same
>B>    file system.

Indeed: it is my understanding that the "path name" interpretation is
an issue at the time of reference, not (necessarily) the time of
creation.  It has, to the best of my knowledge, been valid to create a
symlink prior to a point when its target exists.

One may well argue that this is "broken" in some way(s).  Still, changing
it at this point could well be considered  a POLA violation, at best.

David H. Wolfskill                              [EMAIL PROTECTED]
As a computing professional, I believe it would be unethical for me to
advise, recommend, or support the use (save possibly for personal
amusement) of any product that is or depends on any Microsoft product.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to