From: Chris Allegretta Date: Wed, 6 Dec 2000 00:40:26 +0000 (+0000) Subject: Line up link/unlink/rename check if conditional with top if conditional X-Git-Tag: v0.9.23~6 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=71e464034d7109cf5d48be256f8d15b4cac1df46;p=nano.git 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 --- 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);