From 462720a16616332eb052250e835e94f8efbba879 Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Sat, 21 Apr 2007 18:23:06 +0000
Subject: [PATCH] simplify do_writeout()

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4090 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   |  4 ++++
 src/files.c | 26 ++++++++++++--------------
 2 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 26673b8a..8dd51f8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-04-21  David Lawrence Ramsey  <pooka109@gmail.com>
+
+	* files.c (do_writeout): Simplify.
+
 2007-04-19  David Lawrence Ramsey  <pooka109@gmail.com>
 
 	* files.c (tail): Remove unneeded if statement.
diff --git a/src/files.c b/src/files.c
index 1492c9c8..5e07880a 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1921,27 +1921,25 @@ bool do_writeout(bool exiting)
 		    free(full_answer);
 
 		if (do_warning) {
-		    if (name_exists) {
-			/* If we're using restricted mode, we aren't
-			 * allowed to save a new file under the name of
-			 * an existing file. */
-			if (ISSET(RESTRICTED))
-			    continue;
+		    /* If we're using restricted mode, we aren't allowed
+		     * to overwrite an existing file with the current
+		     * file.  We also aren't allowed to change the name
+		     * of the current file if it has one, because that
+		     * would allow reading from or writing to files not
+		     * specified on the command line. */
+		    if (ISSET(RESTRICTED))
+			continue;
 
+		    if (name_exists) {
 			i = do_yesno_prompt(FALSE,
 				_("File exists, OVERWRITE ? "));
 			if (i == 0 || i == -1)
 			    continue;
-		    /* If we're using restricted mode, we aren't allowed
-		     * to change the name of a file once it has one,
-		     * because that would allow reading from or writing
-		     * to files not specified on the command line. */
-		    } else if (!ISSET(RESTRICTED) &&
-			openfile->filename[0] != '\0'
+		    } else
 #ifndef NANO_TINY
-			&& (exiting || !openfile->mark_set)
+		    if (exiting || !openfile->mark_set)
 #endif
-			) {
+		    {
 			i = do_yesno_prompt(FALSE,
 				_("Save file under DIFFERENT NAME ? "));
 			if (i == 0 || i == -1)
-- 
GitLab