aboutsummaryrefslogtreecommitdiff
path: root/sh.c
diff options
context:
space:
mode:
Diffstat (limited to 'sh.c')
-rw-r--r--sh.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/sh.c b/sh.c
index 3d54b439e..c756a2749 100644
--- a/sh.c
+++ b/sh.c
@@ -73,7 +73,7 @@ static const unsigned int IF_TRUE_CONTEXT=0x2;
73static const unsigned int IF_FALSE_CONTEXT=0x4; 73static const unsigned int IF_FALSE_CONTEXT=0x4;
74static const unsigned int THEN_EXP_CONTEXT=0x8; 74static const unsigned int THEN_EXP_CONTEXT=0x8;
75static const unsigned int ELSE_EXP_CONTEXT=0x10; 75static const unsigned int ELSE_EXP_CONTEXT=0x10;
76unsigned int shell_context = 0; 76unsigned int shell_context;
77 77
78 78
79 79
@@ -185,7 +185,7 @@ static struct built_in_command bltins_forking[] = {
185}; 185};
186 186
187static char *cwd; 187static char *cwd;
188static char *local_pending_command = NULL; 188static char *local_pending_command;
189static struct jobset job_list = { NULL, NULL }; 189static struct jobset job_list = { NULL, NULL };
190static int argc; 190static int argc;
191static char **argv; 191static char **argv;
@@ -1629,6 +1629,19 @@ int shell_main(int argc_l, char **argv_l)
1629 argc = argc_l; 1629 argc = argc_l;
1630 argv = argv_l; 1630 argv = argv_l;
1631 1631
1632 shell_context = 0;
1633 cwd=NULL;
1634#ifdef BB_FEATURE_STANDALONE_SHELL
1635 /* These variables need re-initializing when recursing */
1636 local_pending_command = NULL;
1637 job_list.head = NULL;
1638 job_list.fg = NULL;
1639#ifdef BB_FEATURE_SH_ENVIRONMENT
1640 last_bg_pid=-1;
1641 last_return_code=-1;
1642 show_x_trace=FALSE;
1643#endif
1644#endif
1632 1645
1633 if (argv[0] && argv[0][0] == '-') { 1646 if (argv[0] && argv[0][0] == '-') {
1634 FILE *input; 1647 FILE *input;