From fbb6208d15f443513034e58b49556d6de4e8f420 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Mon, 16 May 2016 21:18:09 +0200
Subject: [PATCH] browser, files: use full path in error message when in
 confined mode

The relative path could be . or .. or even empty, which is uninformative.

This fixes the last part of https://savannah.gnu.org/bugs/?47798.
---
 src/browser.c | 4 ++--
 src/files.c   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/browser.c b/src/browser.c
index 47cce33c..6e16aed8 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -248,7 +248,7 @@ char *do_browser(char *path, DIR *dir)
 		/* TRANSLATORS: This refers to the option --operatingdir,
 		 * not to --restricted. */
 		statusline(ALERT, _("Can't go outside of %s "
-				"in confined mode"), operating_dir);
+				"in confined mode"), full_operating_dir);
 		free(new_path);
 		continue;
 	    }
@@ -300,7 +300,7 @@ char *do_browser(char *path, DIR *dir)
 	     * directory outside the operating directory. */
 	    if (check_operating_dir(filelist[selected], FALSE)) {
 		statusline(ALERT, _("Can't go outside of %s "
-				"in confined mode"), operating_dir);
+				"in confined mode"), full_operating_dir);
 		continue;
 	    }
 #endif
diff --git a/src/files.c b/src/files.c
index f8af4ec2..6e17a87c 100644
--- a/src/files.c
+++ b/src/files.c
@@ -428,7 +428,7 @@ bool open_buffer(const char *filename, bool undoable)
 #ifndef DISABLE_OPERATINGDIR
     if (check_operating_dir(filename, FALSE)) {
 	statusline(ALERT, _("Can't insert file from outside of %s"),
-			operating_dir);
+				full_operating_dir);
 	return FALSE;
     }
 #endif
@@ -1777,7 +1777,7 @@ bool write_file(const char *name, FILE *f_open, bool tmp, append_type
     /* If we're writing a temporary file, we're probably going outside
      * the operating directory, so skip the operating directory test. */
     if (!tmp && check_operating_dir(realname, FALSE)) {
-	statusline(ALERT, _("Can't write outside of %s"), operating_dir);
+	statusline(ALERT, _("Can't write outside of %s"), full_operating_dir);
 	goto cleanup_and_exit;
     }
 #endif
-- 
GitLab