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