aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/nnn.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/nnn.c b/src/nnn.c
index b41b188..a7b73d4 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -983,20 +983,14 @@ static void spawn(const char *file, const char *arg1, const char *arg2, const ch
arg2 = tmp;
}
+ if (flag & F_NORMAL)
+ exitcurses();
+
pid = fork();
if (pid == 0) {
- if (flag & F_NORMAL)
- exitcurses();
-
if (dir != NULL)
status = chdir(dir);
- tmp = getenv(env_cfg[NNNLVL]);
-
- /* Show a marker (to indicate nnn spawned shell) */
- if (flag & F_MARKER && tmp)
- fprintf(stdout, "\n +-++-++-+\n | n n n | %d\n +-++-++-+\n\n", xatoi(tmp));
-
/* Suppress stdout and stderr */
if (flag & F_NOTRACE) {
int fd = open("/dev/null", O_WRONLY, 0200);
@@ -1025,9 +1019,10 @@ static void spawn(const char *file, const char *arg1, const char *arg2, const ch
DPRINTF_D(pid);
if (flag & F_NORMAL) {
+ refresh();
exitcurses();
+ fflush(stdout);
initcurses();
- refresh();
}
}
}