aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/hush.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 125463a56..f5c1e5bc1 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -331,9 +331,9 @@
/* Separate defines document which part of code implements what */
#define BASH_PATTERN_SUBST ENABLE_HUSH_BASH_COMPAT
#define BASH_SUBSTR ENABLE_HUSH_BASH_COMPAT
-#define BASH_TEST2 ENABLE_HUSH_BASH_COMPAT
#define BASH_SOURCE ENABLE_HUSH_BASH_COMPAT
#define BASH_HOSTNAME_VAR ENABLE_HUSH_BASH_COMPAT
+#define BASH_TEST2 (ENABLE_HUSH_BASH_COMPAT && ENABLE_HUSH_TEST)
/* Build knobs */
@@ -1457,7 +1457,7 @@ static void restore_redirected_FILEs(void)
fl = fl->next;
}
}
-#if ENABLE_FEATURE_SH_STANDALONE
+#if ENABLE_FEATURE_SH_STANDALONE && BB_MMU
static void close_all_FILE_list(void)
{
struct FILE_list *fl = G.FILE_list;
@@ -8575,8 +8575,9 @@ int hush_main(int argc, char **argv)
optarg++;
empty_trap_mask = bb_strtoull(optarg, &optarg, 16);
if (empty_trap_mask != 0) {
- int sig;
+ IF_HUSH_TRAP(int sig;)
install_special_sighandlers();
+# if ENABLE_HUSH_TRAP
G_traps = xzalloc(sizeof(G_traps[0]) * NSIG);
for (sig = 1; sig < NSIG; sig++) {
if (empty_trap_mask & (1LL << sig)) {
@@ -8584,6 +8585,7 @@ int hush_main(int argc, char **argv)
install_sighandler(sig, SIG_IGN);
}
}
+# endif
}
# if ENABLE_HUSH_LOOPS
optarg++;