From 88ad64d597c6ff5449e2260d8d1fb1cfa84edf7e Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey 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