From 71e464034d7109cf5d48be256f8d15b4cac1df46 Mon Sep 17 00:00:00 2001
From: Chris Allegretta <chrisa@asty.org>
Date: Wed, 6 Dec 2000 00:40:26 +0000
Subject: [PATCH] Line up  link/unlink/rename check if conditional with top if
 conditional

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@387 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog | 3 +++
 files.c   | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index c91865c7..e98a274c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@ CVS code -
 	- We now run check on result of lstat(), not stat(), to be
 	  safer.  New variable anyexists, we use still use realexists
 	  later in the program.
+	- OOPS, line up link/unlink/rename check if conditional with 
+	  top if conditional.  Option -l has been broken for 9 versions,
+	  no one noticed?!
 - winio.c:
   edit_add()
 	- Off by one display error (fix by Rocco Corsi).
diff --git a/files.c b/files.c
index c0299e40..c8258449 100644
--- a/files.c
+++ b/files.c
@@ -431,7 +431,7 @@ int write_file(char *name, int tmp)
 	return -1;
     }
 
-    if (!ISSET(FOLLOW_SYMLINKS) || tmp) {
+    if ((!ISSET(FOLLOW_SYMLINKS) && S_ISLNK(st.st_mode)) || tmp) {
 	if (realexists == -1) {
 	    /* Use default umask as file permisions if file is a new file. */
 	    mask = umask(0);
-- 
GitLab