aboutsummaryrefslogtreecommitdiffstats
path: root/src/nnn.c
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-03-10 23:57:27 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-03-10 23:57:27 +0530
commit9ca3f7d06b88b2eb06da12dff4f9d288e39ca22f (patch)
treeffa5259bd5bb57cdef9633a460f56f02f012979a /src/nnn.c
parentb9205f17787254ec796bd45874fe14776f96cb30 (diff)
downloadnnn-9ca3f7d06b88b2eb06da12dff4f9d288e39ca22f.tar.gz
Skip shell invocation to run user-scripts
Diffstat (limited to 'src/nnn.c')
-rw-r--r--src/nnn.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nnn.c b/src/nnn.c
index fdabfbb..bc414d2 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -3036,13 +3036,15 @@ nochange:
continue;
mkpath(path, dents[cur].name, newpath);
+ /* Copy to path so we can return back to earlier dir */
xstrlcpy(path, rundir, PATH_MAX);
if (runfile[0]) {
xstrlcpy(lastname, runfile, NAME_MAX);
- spawn(shell, newpath, lastname, path, F_SHELL);
+ spawn(newpath, lastname, NULL, path,
+ F_NORMAL | F_SIGINT);
runfile[0] = '\0';
} else
- spawn(shell, newpath, NULL, path, F_SHELL);
+ spawn(newpath, NULL, NULL, path, F_NORMAL | F_SIGINT);
rundir[0] = '\0';
cfg.runscript = 0;
setdirwatch();
@@ -3807,7 +3809,7 @@ nochange:
/* Regular script file */
if (S_ISREG(sb.st_mode)) {
tmp = ndents ? dents[cur].name : NULL;
- spawn(shell, scriptpath, tmp, path, F_SHELL);
+ spawn(scriptpath, tmp, NULL, path, F_NORMAL | F_SIGINT);
break;
}