ash: regressions in process substitution
No binary (build failed)
—
(log yok)
| @@ -10278,6 +10278,9 @@ evalcommand(union node *cmd, int flags) | |
| /* First expand the arguments. */ | |
| TRACE(("evalcommand(0x%lx, %d) called\n", (long)cmd, flags)); | |
| + | #if BASH_PROCESS_SUBST |
| + | redir_stop = redirlist; |
| + | #endif |
| file_stop = g_parsefile; | |
| back_exitstatus = 0; | |
| @@ -10356,7 +10359,11 @@ evalcommand(union node *cmd, int flags) | |
| lastarg = nargv[-1]; | |
| expredir(cmd->ncmd.redirect); | |
| + | #if !BASH_PROCESS_SUBST |
| redir_stop = pushredir(cmd->ncmd.redirect); | |
| + | #else |
| + | pushredir(cmd->ncmd.redirect); |
| + | #endif |
| preverrout_fd = 2; | |
| if (BASH_XTRACEFD && xflag) { | |
| /* NB: bash closes fd == $BASH_XTRACEFD when it is changed. | |
| @@ -13476,9 +13483,6 @@ cmdloop(int top) | |
| #if JOBS | |
| if (doing_jobctl) | |
| showjobs(SHOW_CHANGED|SHOW_STDERR); | |
| - | #endif |
| - | #if BASH_PROCESS_SUBST |
| - | unwindredir(NULL); |
| #endif | |
| inter = 0; | |
| if (iflag && top) { | |