summaryrefslogtreecommitdiffstats
path: root/bin/ln/ln.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1994-12-06 18:50:44 +0000
committerbde <bde@FreeBSD.org>1994-12-06 18:50:44 +0000
commit4bd4925bd237b09e48fafa7c69c37130ed34a8f7 (patch)
treebebd56940232b19a97e129fd6998f7c88c36a0bd /bin/ln/ln.c
parent024cb43d29361b6f473fdd5cc74cf91b8882a681 (diff)
downloadFreeBSD-src-4bd4925bd237b09e48fafa7c69c37130ed34a8f7.zip
FreeBSD-src-4bd4925bd237b09e48fafa7c69c37130ed34a8f7.tar.gz
Use lstat() instead of stat() for checking if the final source file exists,
so that `ln -fs' works when the source is a symlink pointing to a non- existent file.
Diffstat (limited to 'bin/ln/ln.c')
-rw-r--r--bin/ln/ln.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bin/ln/ln.c b/bin/ln/ln.c
index 71c1a57..73fffa7 100644
--- a/bin/ln/ln.c
+++ b/bin/ln/ln.c
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: ln.c,v 1.4 1994/09/24 02:55:48 davidg Exp $
*/
#ifndef lint
@@ -142,9 +142,9 @@ linkit(target, source, isdir)
++p;
(void)snprintf(path, sizeof(path), "%s/%s", source, p);
source = path;
- exists = !stat(source, &sb);
+ exists = !lstat(source, &sb);
} else
- exists = !stat(source, &sb);
+ exists = !lstat(source, &sb);
/*
* If the file exists, and -f was specified, unlink it.
OpenPOWER on IntegriCloud