From 88ad64d597c6ff5449e2260d8d1fb1cfa84edf7e Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Wed, 30 Mar 2005 23:52:02 +0000
Subject: [PATCH] in do_insertfile(), fix a problem where going into the help
 browser at the "Insert File" prompt would always result in the current
 answer's being used as the filename afterward

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

diff --git a/ChangeLog b/ChangeLog
index 0e9d765b..0ad374e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,10 @@ CVS code -
 	  builds with DEBUG defined again. (Mike Frysinger, found by
 	  Dmitri Vassilenko)
 - files.c:
+  do_insertfile()
+	- Fix problem where going into the help browser at the "Insert
+	  File" prompt would always result in the current answer's being
+	  used as the filename afterward. (DLR)
   get_full_path()
 	- Rework handling of the results of getcwd() in order to avoid
 	  segfaults if they fail, and to remove uses of the nonportable
diff --git a/src/files.c b/src/files.c
index 9da25f75..ae1e314b 100644
--- a/src/files.c
+++ b/src/files.c
@@ -557,8 +557,7 @@ void do_insertfile(
 #ifdef ENABLE_MULTIBUFFER
 		&& !ISSET(MULTIBUFFER)
 #endif
-		))
-	{
+		)) {
 	    statusbar(_("Cancelled"));
 	    break;
 	} else {
@@ -581,6 +580,7 @@ void do_insertfile(
 
 		if (tmp == NULL)
 		    continue;
+
 		free(answer);
 		answer = tmp;
 
@@ -597,6 +597,11 @@ void do_insertfile(
 	    }
 #endif
 
+	    /* If we don't have a file yet, go back to the statusbar
+	     * prompt. */
+	    if (i != 0)
+		continue;
+
 #ifdef ENABLE_MULTIBUFFER
 	    if (!ISSET(MULTIBUFFER)) {
 #endif
-- 
GitLab