]> Sergey Matveev's repositories - nnn.git/commitdiff
Switch to current dir to run editor/vidir
authorArun Prakash Jana <engineerarun@gmail.com>
Mon, 19 Mar 2018 00:29:15 +0000 (05:59 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Mon, 19 Mar 2018 00:48:25 +0000 (06:18 +0530)
nnn.c

diff --git a/nnn.c b/nnn.c
index bcba125199dc21939ee4f8305e10ad38801a0eee..0e630818578ccc5cf47e91d18aa5d25c57e417ef 100644 (file)
--- a/nnn.c
+++ b/nnn.c
@@ -2520,7 +2520,7 @@ nochange:
                                 */
                                if (editor) {
                                        if (getmime(dents[cur].name)) {
-                                               spawn(editor, newpath, NULL, NULL, F_NORMAL);
+                                               spawn(editor, newpath, NULL, path, F_NORMAL);
                                                continue;
                                        }
 
@@ -2531,7 +2531,7 @@ nochange:
                                                continue;
 
                                        if (strstr(g_buf, "text/") == g_buf) {
-                                               spawn(editor, newpath, NULL, NULL, F_NORMAL);
+                                               spawn(editor, newpath, NULL, path, F_NORMAL);
                                                continue;
                                        }
                                }
@@ -3150,24 +3150,7 @@ nochange:
                                goto nochange;
                        }
 
-                       /* Save the program start dir */
-                       tmp = getcwd(newpath, PATH_MAX);
-                       if (tmp == NULL) {
-                               printwarn();
-                               goto nochange;
-                       }
-
-                       /* Switch to current path for readline(3) */
-                       if (chdir(path) == -1) {
-                               printwarn();
-                               goto nochange;
-                       }
-
-                       spawn(utils[VIDIR], ".", NULL, NULL, F_NORMAL);
-
-                       /* Change back to program start dir */
-                       if (chdir(newpath) == -1)
-                               printwarn();
+                       spawn(utils[VIDIR], ".", NULL, path, F_NORMAL);
 
                        /* Save current */
                        if (ndents > 0)