aboutsummaryrefslogtreecommitdiffstats
path: root/ports/darwin
diff options
context:
space:
mode:
authorPeter Seebach <peter.seebach@windriver.com>2012-12-12 15:37:35 -0600
committerPeter Seebach <peter.seebach@windriver.com>2012-12-12 15:37:35 -0600
commit874bea3c664161c2297d5d5f4f93408330e005f5 (patch)
tree37d8595c1024446a027aad9ac642ffd07e7141db /ports/darwin
parentb6c2409d786e53f62accc1c7a6538f39dd0ab601 (diff)
downloadpseudo-874bea3c664161c2297d5d5f4f93408330e005f5.tar.gz
pseudo-874bea3c664161c2297d5d5f4f93408330e005f5.tar.bz2
pseudo-874bea3c664161c2297d5d5f4f93408330e005f5.zip
add linkat() implementation
We never had an implementation for linkat() because no one used it; now someone uses it. link() is now implemented on top of linkat(). Note the abnormal AT_SYMLINK_FOLLOW (as opposed to _NOFOLLOW) flag.
Diffstat (limited to 'ports/darwin')
-rw-r--r--ports/darwin/portdefs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/ports/darwin/portdefs.h b/ports/darwin/portdefs.h
index f27e28d..900d98e 100644
--- a/ports/darwin/portdefs.h
+++ b/ports/darwin/portdefs.h
@@ -8,3 +8,6 @@ extern int pseudo_host_etc_passwd_fd;
extern int pseudo_host_etc_group_fd;
extern FILE *pseudo_host_etc_passwd_file;
extern FILE *pseudo_host_etc_group_file;
+/* Darwin ALWAYS follows symlinks for link(2) */
+#undef PSEUDO_LINK_SYMLINK_BEHAVIOR
+#define PSEUDO_LINK_SYMLINK_BEHAVIOR AT_SYMLINK_FOLLOW