awk: in parsing, remove superfluous NEWLINE check; optimize builtin arg evaluation
function old new delta exec_builtin 1149 1145 -4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
8d269ef859
commit
ab755e3717
@ -1589,8 +1589,8 @@ static void chain_group(void)
|
|||||||
chain_until_rbrace();
|
chain_until_rbrace();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (tc & (TS_OPSEQ | TC_SEMICOL | TC_NEWLINE)) {
|
if (tc & (TS_OPSEQ | TC_SEMICOL)) {
|
||||||
debug_printf_parse("%s: TS_OPSEQ | TC_SEMICOL | TC_NEWLINE\n", __func__);
|
debug_printf_parse("%s: TS_OPSEQ | TC_SEMICOL\n", __func__);
|
||||||
rollback_token();
|
rollback_token();
|
||||||
chain_expr(OC_EXEC | Vx);
|
chain_expr(OC_EXEC | Vx);
|
||||||
return;
|
return;
|
||||||
@ -2582,10 +2582,11 @@ static NOINLINE var *exec_builtin(node *op, var *res)
|
|||||||
av[2] = av[3] = NULL;
|
av[2] = av[3] = NULL;
|
||||||
for (i = 0; i < 4 && op; i++) {
|
for (i = 0; i < 4 && op; i++) {
|
||||||
an[i] = nextarg(&op);
|
an[i] = nextarg(&op);
|
||||||
if (isr & 0x09000000)
|
if (isr & 0x09000000) {
|
||||||
av[i] = evaluate(an[i], TMPVAR(i));
|
av[i] = evaluate(an[i], TMPVAR(i));
|
||||||
if (isr & 0x08000000)
|
if (isr & 0x08000000)
|
||||||
as[i] = getvar_s(av[i]);
|
as[i] = getvar_s(av[i]);
|
||||||
|
}
|
||||||
isr >>= 1;
|
isr >>= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user