From: 0xACE <0xACE@users.noreply.github.com>
Date: Mon, 17 Feb 2020 22:21:46 +0000 (+0100)
Subject: Avoid trying to edit a non-existing file (#477)
X-Git-Tag: v3.1~167
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=75f6d5d735ea50112aa9ba02864fda83da8def41;p=nnn.git

Avoid trying to edit a non-existing file (#477)

The previous implementation was inconsistent, sometimes it would
inherit the name of the parent folder of the current directory.

Other scenarios i encountered were:
1. Yield a empty search result, and try to edit. It would seemingly
   randomly select a file or folder
2. What would happen in a root path without any files residing?
---

diff --git a/src/nnn.c b/src/nnn.c
index 06c677e0..7ce569e6 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -5453,6 +5453,8 @@ nochange:
 
 			if (ndents)
 				mkpath(path, dents[cur].name, newpath);
+			else if (sel == SEL_EDIT) /* Avoid trying to edit a non-existing file */
+				goto nochange;
 
 			switch (sel) {
 			case SEL_REDRAW: