From e6350aaba49e4e8d70fbb6432aa30920fd9208e4 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Tue, 20 Dec 2016 21:41:37 +0100
Subject: [PATCH] prompt: do not treat a leading newline in a filename
 specially

This fixes https://savannah.gnu.org/bugs/?49884.
---
 src/browser.c |  4 +---
 src/files.c   | 10 +++-------
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/browser.c b/src/browser.c
index 814753f7..d6397554 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -230,9 +230,7 @@ char *do_browser(char *path)
 			/* TRANSLATORS: This is a prompt. */
 			browser_refresh, _("Go To Directory"));
 
-	    /* If the directory begins with a newline (i.e. an
-	     * encoded null), treat it as though it's blank. */
-	    if (i < 0 || *answer == '\n') {
+	    if (i < 0) {
 		statusbar(_("Cancelled"));
 		continue;
 	    }
diff --git a/src/files.c b/src/files.c
index 205f18ed..55ab507b 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1098,10 +1098,8 @@ void do_insertfile(void)
 		"./");
 
 	/* If we're in multibuffer mode and the filename or command is
-	 * blank, open a new buffer instead of canceling.  If the
-	 * filename or command begins with a newline (i.e. an encoded
-	 * null), treat it as though it's blank. */
-	if (i == -1 || (!ISSET(MULTIBUFFER) && (i == -2 || *answer == '\n'))) {
+	 * blank, open a new buffer instead of canceling. */
+	if (i == -1 || (i == -2 && !ISSET(MULTIBUFFER))) {
 	    statusbar(_("Cancelled"));
 	    break;
 	} else {
@@ -2236,9 +2234,7 @@ int do_writeout(bool exiting)
 #endif
 		);
 
-	/* If the filename or command begins with a newline (i.e. an
-	 * encoded null), treat it as though it's blank. */
-	if (i < 0 || *answer == '\n') {
+	if (i < 0) {
 	    statusbar(_("Cancelled"));
 	    break;
 	} else {
-- 
GitLab