Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: link(2) allows directory hard links, man page says otherwise



On Dec 12, 2007 6:12 PM, Rosyna <email@hidden> wrote:
> The actual implementation of link() on 10.5 allows for directory hard
> links on HFS+ as long as they follow these rules:
>
> - Source parent and destination parent cannot match
> - A link is not permitted in the root directory
> - Parent of 'pointed at' directory is not the root directory
> - The 'pointed at' directory (source) is not an ancestor of the new
> directory hard link (destination).
> - No ancestor of the new directory hard link (destination) is a
> directory hard link.
>
> The man page for link(2) says (in various places):
>
> As mandated by POSIX.1, path1 may not be a directory.
>
>
> [EPERM]            The file named by path1 is a directory.
>
>
> STANDARDS
>       The link() function is expected to conform to IEEE Std
> 1003.1-1988 (``POSIX.1'').
>
>
>
> But actually calling link() allows for directory hard links. Is this
> an error in the documentation, an error in the function, or am I
> connecting two things that shouldn't be?

the POSIX standard you reference is outdated.  please refer to:
http://www.opengroup.org/onlinepubs/009695399/functions/link.html

where it quotes:
If path1 names a directory, link() shall fail unless the process has
appropriate privileges and the implementation supports using link() on
directories.

and under errors it states:
[EPERM]
    The file named by path1 is a directory and either the calling
process does not have appropriate privileges or the implementation
prohibits using link() on directories.
-mike
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden

This email sent to email@hidden

References: 
 >link(2) allows directory hard links, man page says otherwise (From: Rosyna <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.