From ab755e3717cefc06fd28ce8db56f0402412afaa3 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 12 Jul 2021 13:30:30 +0200 Subject: 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 --- editors/awk.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'editors') diff --git a/editors/awk.c b/editors/awk.c index 437d87ecf..7a282356d 100644 --- a/editors/awk.c +++ b/editors/awk.c @@ -1589,8 +1589,8 @@ static void chain_group(void) chain_until_rbrace(); return; } - if (tc & (TS_OPSEQ | TC_SEMICOL | TC_NEWLINE)) { - debug_printf_parse("%s: TS_OPSEQ | TC_SEMICOL | TC_NEWLINE\n", __func__); + if (tc & (TS_OPSEQ | TC_SEMICOL)) { + debug_printf_parse("%s: TS_OPSEQ | TC_SEMICOL\n", __func__); rollback_token(); chain_expr(OC_EXEC | Vx); return; @@ -2582,10 +2582,11 @@ static NOINLINE var *exec_builtin(node *op, var *res) av[2] = av[3] = NULL; for (i = 0; i < 4 && op; i++) { an[i] = nextarg(&op); - if (isr & 0x09000000) + if (isr & 0x09000000) { av[i] = evaluate(an[i], TMPVAR(i)); - if (isr & 0x08000000) - as[i] = getvar_s(av[i]); + if (isr & 0x08000000) + as[i] = getvar_s(av[i]); + } isr >>= 1; } -- cgit v1.2.1