commit 38fe392c4377cf5e755a254a9b6c1226048236d8
parent e76a929710ab7f286431ac69cdd056f26b21b0f3
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Mon, 4 Mar 2019 23:42:01 +0530
Fix #219
Diffstat:
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git 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();
}
}
}