aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/shell/ash.c b/shell/ash.c
index f7fc18f0d..3604af4fc 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -9539,7 +9539,7 @@ static const struct builtincmd builtintab[] = {
9539#if ENABLE_FEATURE_SH_MATH 9539#if ENABLE_FEATURE_SH_MATH
9540 { BUILTIN_NOSPEC "let" , letcmd }, 9540 { BUILTIN_NOSPEC "let" , letcmd },
9541#endif 9541#endif
9542 { BUILTIN_ASSIGN "local" , localcmd }, 9542 { BUILTIN_SPEC_REG_ASSG "local" , localcmd },
9543#if ENABLE_ASH_PRINTF 9543#if ENABLE_ASH_PRINTF
9544 { BUILTIN_REGULAR "printf" , printfcmd }, 9544 { BUILTIN_REGULAR "printf" , printfcmd },
9545#endif 9545#endif
@@ -9849,9 +9849,11 @@ evalcommand(union node *cmd, int flags)
9849 /* NOTREACHED */ 9849 /* NOTREACHED */
9850 } /* default */ 9850 } /* default */
9851 case CMDBUILTIN: 9851 case CMDBUILTIN:
9852 poplocalvars(spclbltin > 0 || argc == 0); 9852 if (spclbltin > 0 || argc == 0) {
9853 if (cmd_is_exec && argc > 1) 9853 poplocalvars(1);
9854 listsetvar(varlist.list, VEXPORT); 9854 if (cmd_is_exec && argc > 1)
9855 listsetvar(varlist.list, VEXPORT);
9856 }
9855 9857
9856 /* Tight loop with builtins only: 9858 /* Tight loop with builtins only:
9857 * "while kill -0 $child; do true; done" 9859 * "while kill -0 $child; do true; done"