提交 39aabfe8 编写于 作者: D Denys Vlasenko

awk: unbreak "cmd" | getline

function                                             old     new   delta
evaluate                                            3337    3343      +6
Signed-off-by: NDenys Vlasenko <vda.linux@googlemail.com>
上级 4ef8841b
......@@ -3156,7 +3156,8 @@ static var *evaluate(node *op, var *res)
if (op1) {
rsm = newfile(L.s);
if (!rsm->F) {
if (opinfo == TI_PGETLINE) {
/* NB: can't use "opinfo == TI_PGETLINE", would break "cmd" | getline */
if ((opinfo & OPCLSMASK) == OC_PGETLINE) {
rsm->F = popen(L.s, "r");
rsm->is_pipe = TRUE;
} else {
......
......@@ -455,4 +455,9 @@ testing "awk print + redirect" \
"STDERR %s\n" \
'' ''
testing "awk \"cmd\" | getline" \
"awk 'BEGIN { \"echo HELLO\" | getline; print }'" \
"HELLO\n" \
'' ''
exit $FAILCOUNT
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册