summaryrefslogtreecommitdiff
path: root/src/copy.c
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2015-05-28 01:26:08 +0100
committerPádraig Brady <P@draigBrady.com>2015-05-28 01:42:15 +0100
commit67db18ce0ffc516eb0f39bf8ff3d8151ae810fc9 (patch)
tree0cb3a3113e875fcc314ee331b4e4012627d21155 /src/copy.c
parenta41172a5c4b23b34fba3d76c036afa0f2a7eeb28 (diff)
downloadcoreutils-67db18ce0ffc516eb0f39bf8ff3d8151ae810fc9.tar.xz
copy: prefer our hardlink to symlink emulation on OS X 10.10
* src/copy.c (CAN_HARDLINK_SYMLINKS): Don't enable use of linkat() on Darwin 14, as the gnulib fallback emulation there doesn't preserve ownership and timestamps etc. This fixes a test failure in tests/cp/link-symlink.sh * tests/cp/link-deref.sh: Adjust accordingly.
Diffstat (limited to 'src/copy.c')
-rw-r--r--src/copy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/copy.c b/src/copy.c
index 3af42957a..5fe69ea3c 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -104,7 +104,7 @@ rpl_mkfifo (char const *file, mode_t mode)
/* LINK_FOLLOWS_SYMLINKS is tri-state; if it is -1, we don't know
how link() behaves, so assume we can't hardlink symlinks in that case. */
-#if defined HAVE_LINKAT || ! LINK_FOLLOWS_SYMLINKS
+#if (defined HAVE_LINKAT && ! LINKAT_SYMLINK_NOTSUP) || ! LINK_FOLLOWS_SYMLINKS
# define CAN_HARDLINK_SYMLINKS 1
#else
# define CAN_HARDLINK_SYMLINKS 0