awk: use "static" tmpvars in main and exit
function old new delta awk_exit 103 93 -10 awk_main 850 832 -18 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-28) Total: -28 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
1193c68fa7
commit
966cafcc77
@ -562,6 +562,8 @@ struct globals2 {
|
|||||||
var ptest__tmpvar;
|
var ptest__tmpvar;
|
||||||
var awk_printf__tmpvar;
|
var awk_printf__tmpvar;
|
||||||
var as_regex__tmpvar;
|
var as_regex__tmpvar;
|
||||||
|
var exit__tmpvar;
|
||||||
|
var main__tmpvar;
|
||||||
|
|
||||||
tsplitter exec_builtin__tspl;
|
tsplitter exec_builtin__tspl;
|
||||||
|
|
||||||
@ -638,11 +640,6 @@ static void syntax_error(const char *message)
|
|||||||
bb_error_msg_and_die("%s:%i: %s", g_progname, g_lineno, message);
|
bb_error_msg_and_die("%s:%i: %s", g_progname, g_lineno, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void zero_out_var(var *vp)
|
|
||||||
{
|
|
||||||
memset(vp, 0, sizeof(*vp));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- hash stuff ---- */
|
/* ---- hash stuff ---- */
|
||||||
|
|
||||||
static unsigned hashidx(const char *name)
|
static unsigned hashidx(const char *name)
|
||||||
@ -3372,11 +3369,9 @@ static int awk_exit(int r)
|
|||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
if (!exiting) {
|
if (!exiting) {
|
||||||
var tv;
|
|
||||||
exiting = TRUE;
|
exiting = TRUE;
|
||||||
nextrec = FALSE;
|
nextrec = FALSE;
|
||||||
zero_out_var(&tv);
|
evaluate(endseq.first, &G.exit__tmpvar);
|
||||||
evaluate(endseq.first, &tv);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* waiting for children */
|
/* waiting for children */
|
||||||
@ -3404,7 +3399,6 @@ int awk_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
llist_t *list_e = NULL;
|
llist_t *list_e = NULL;
|
||||||
#endif
|
#endif
|
||||||
int i;
|
int i;
|
||||||
var tv;
|
|
||||||
|
|
||||||
INIT_G();
|
INIT_G();
|
||||||
|
|
||||||
@ -3514,8 +3508,7 @@ int awk_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
newfile("/dev/stdout")->F = stdout;
|
newfile("/dev/stdout")->F = stdout;
|
||||||
newfile("/dev/stderr")->F = stderr;
|
newfile("/dev/stderr")->F = stderr;
|
||||||
|
|
||||||
zero_out_var(&tv);
|
evaluate(beginseq.first, &G.main__tmpvar);
|
||||||
evaluate(beginseq.first, &tv);
|
|
||||||
if (!mainseq.first && !endseq.first)
|
if (!mainseq.first && !endseq.first)
|
||||||
awk_exit(EXIT_SUCCESS);
|
awk_exit(EXIT_SUCCESS);
|
||||||
|
|
||||||
@ -3532,7 +3525,7 @@ int awk_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
nextrec = FALSE;
|
nextrec = FALSE;
|
||||||
incvar(intvar[NR]);
|
incvar(intvar[NR]);
|
||||||
incvar(intvar[FNR]);
|
incvar(intvar[FNR]);
|
||||||
evaluate(mainseq.first, &tv);
|
evaluate(mainseq.first, &G.main__tmpvar);
|
||||||
|
|
||||||
if (nextfile)
|
if (nextfile)
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user