From 4872440d7a09f770322b9691dc8313833f37d330 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 31 Jan 1999 18:41:36 +0000 Subject: (do_link): Allow creation of a hard link to a dangling symlink. Reported by Alexey Solovyov: --- src/ln.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/ln.c') diff --git a/src/ln.c b/src/ln.c index 093b9e6f4..e60cc6e74 100644 --- a/src/ln.c +++ b/src/ln.c @@ -174,8 +174,14 @@ do_link (const char *source, const char *dest) { if (stat (source, &source_stats) != 0) { - error (0, errno, "%s", source); - return 1; + /* This still could be a legitimate request: + if SOURCE is a dangling symlink. */ + if (errno != ENOENT + || lstat (source, &source_stats) != 0) + { + error (0, errno, "%s", source); + return 1; + } } if (!hard_dir_link && S_ISDIR (source_stats.st_mode)) { -- cgit v1.2.3-54-g00ecf