commit 861d44f9348ed694d6cf2109a007b0a09f359dd9
parent cfd4a6659623014243696812daba254dd3116e12
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sun, 10 May 2020 19:15:40 +0530
Simplify cd
Diffstat:
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/nnn.c b/src/nnn.c
@@ -5461,6 +5461,16 @@ nochange:
mkpath(path, dents[cur].name, newpath);
DPRINTF_S(newpath);
+ if (dents[cur].flags & DIR_OR_LINK_TO_DIR) {
+ if (chdir(newpath) == -1) {
+ printwarn(&presel);
+ goto nochange;
+ }
+
+ cdprep(lastdir, lastname, path, newpath) ? (presel = FILTER) : (watch = TRUE);
+ goto begin;
+ }
+
/* Cannot use stale data in entry, file may be missing by now */
if (stat(newpath, &sb) == -1) {
printwarn(&presel);
@@ -5469,14 +5479,6 @@ nochange:
DPRINTF_U(sb.st_mode);
switch (sb.st_mode & S_IFMT) {
- case S_IFDIR:
- if (chdir(newpath) == -1) {
- printwarn(&presel);
- goto nochange;
- }
-
- cdprep(lastdir, lastname, path, newpath) ? (presel = FILTER) : (watch = TRUE);
- goto begin;
case S_IFREG:
{
/* If opened as vim plugin and Enter/^M pressed, pick */