git: 64d6925d1901 - main - cp: Clarify an obscure comment.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 17 Apr 2024 02:04:02 UTC
The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=64d6925d1901637125f9f739282e72c992657dc8 commit 64d6925d1901637125f9f739282e72c992657dc8 Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2024-04-17 01:36:22 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2024-04-17 02:03:21 +0000 cp: Clarify an obscure comment. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D44805 --- bin/cp/cp.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index cee412e57264..98697ba2b06f 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -452,13 +452,19 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) switch (curr->fts_statp->st_mode & S_IFMT) { case S_IFLNK: - /* Catch special case of a non-dangling symlink. */ if ((fts_options & FTS_LOGICAL) || ((fts_options & FTS_COMFOLLOW) && curr->fts_level == 0)) { + /* + * We asked FTS to follow links but got + * here anyway, which means the target is + * nonexistent or inaccessible. Let + * copy_file() deal with the error. + */ if (copy_file(curr, dne)) badcp = rval = 1; - } else { + } else { + /* Copy the link. */ if (copy_link(curr, !dne)) badcp = rval = 1; }