aboutsummaryrefslogtreecommitdiff
path: root/bb.c
diff options
context:
space:
mode:
Diffstat (limited to 'bb.c')
-rw-r--r--bb.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/bb.c b/bb.c
index 9f81830..af06a4d 100644
--- a/bb.c
+++ b/bb.c
@@ -896,8 +896,6 @@ int run_script(bb_t *bb, const char *cmd)
proc_t *proc = memcheck(calloc(1, sizeof(proc_t)));
signal(SIGTTOU, SIG_IGN);
if ((proc->pid = fork()) == 0) {
- fclose(tty_out); tty_out = NULL;
- fclose(tty_in); tty_in = NULL;
pid_t pgrp = getpid();
(void)setpgid(0, pgrp);
if (tcsetpgrp(STDIN_FILENO, pgrp))
@@ -916,11 +914,8 @@ int run_script(bb_t *bb, const char *cmd)
setenv("BBCURSOR", bb->nfiles ? bb->files[bb->cursor]->fullname : "", 1);
- int ttyout, ttyin;
- ttyout = open("/dev/tty", O_RDWR);
- ttyin = open("/dev/tty", O_RDONLY);
- dup2(ttyout, STDOUT_FILENO);
- dup2(ttyin, STDIN_FILENO);
+ dup2(fileno(tty_out), STDOUT_FILENO);
+ dup2(fileno(tty_in), STDIN_FILENO);
execvp(args[0], args);
err("Failed to execute command: '%s'", cmd);
return -1;