diff options
Diffstat (limited to 'shell/ash.c')
-rw-r--r-- | shell/ash.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/shell/ash.c b/shell/ash.c index 5c431c9ff..6cda7251e 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -9600,9 +9600,7 @@ evalfun(struct funcnode *func, int argc, char **argv, int flags) | |||
9600 | shellparam.optind = 1; | 9600 | shellparam.optind = 1; |
9601 | shellparam.optoff = -1; | 9601 | shellparam.optoff = -1; |
9602 | #endif | 9602 | #endif |
9603 | pushlocalvars(); | ||
9604 | evaltree(func->n.ndefun.body, flags & EV_TESTED); | 9603 | evaltree(func->n.ndefun.body, flags & EV_TESTED); |
9605 | poplocalvars(0); | ||
9606 | funcdone: | 9604 | funcdone: |
9607 | INT_OFF; | 9605 | INT_OFF; |
9608 | funcline = savefuncline; | 9606 | funcline = savefuncline; |
@@ -10235,7 +10233,6 @@ evalcommand(union node *cmd, int flags) | |||
10235 | goto readstatus; | 10233 | goto readstatus; |
10236 | 10234 | ||
10237 | case CMDFUNCTION: | 10235 | case CMDFUNCTION: |
10238 | poplocalvars(1); | ||
10239 | /* See above for the rationale */ | 10236 | /* See above for the rationale */ |
10240 | dowait(DOWAIT_NONBLOCK, NULL); | 10237 | dowait(DOWAIT_NONBLOCK, NULL); |
10241 | if (evalfun(cmdentry.u.func, argc, argv, flags)) | 10238 | if (evalfun(cmdentry.u.func, argc, argv, flags)) |