From ed509250a2c9436ba1f2fd013b0f192abd3906f2 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 7 Feb 2010 21:02:18 +0100 Subject: [PATCH] copy.c: improve a comment * src/copy.c (copy_reg): The comment about POSIXLY_CORRECT refers only to cp, not to any other application that uses copy.c. --- src/copy.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/copy.c b/src/copy.c index 80ec3625e1..8399b71307 100644 --- a/src/copy.c +++ b/src/copy.c @@ -587,10 +587,11 @@ copy_reg (char const *src_name, char const *dst_name, lstat'ing the DST_NAME shows that it is a symlink, then we have a problem: trying to resolve this dangling symlink to a directory/destination-entry pair is fundamentally racy, - so punt. If POSIXLY_CORRECT is set, simply call open again, - but without O_EXCL (potentially dangerous). If not, fail - with a diagnostic. These shenanigans are necessary only - when copying, i.e., not in move_mode. */ + so punt. If x->open_dangling_dest_symlink is set (cp sets + that when POSIXLY_CORRECT is set in the environment), simply + call open again, but without O_EXCL (potentially dangerous). + If not, fail with a diagnostic. These shenanigans are necessary + only when copying, i.e., not in move_mode. */ if (dest_desc < 0 && dest_errno == EEXIST && ! x->move_mode) { struct stat dangling_link_sb; -- 2.47.3