bc: rename zbc_parse_text() to ..._init(), reuse existing code for library parsing

function                                             old     new   delta
zbc_parse_text_init                                    -     123    +123
bc_vm_run                                            423     398     -25
zbc_parse_text                                       123       -    -123
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/1 up/down: 123/-148)          Total: -25 bytes
   text	   data	    bss	    dec	    hex	filename
 980154	    485	   7296	 987935	  f131f	busybox_old
 980129	    485	   7296	 987910	  f1306	busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2018-12-14 17:01:56 +01:00
parent 0a23814e98
commit f86e960e7c

View File

@ -3489,7 +3489,7 @@ static BC_STATUS zcommon_parse(BcParse *p)
IF_DC(RETURN_STATUS(zdc_parse_parse(p));) IF_DC(RETURN_STATUS(zdc_parse_parse(p));)
} }
static BC_STATUS zbc_parse_text(BcParse *p, const char *text) static BC_STATUS zbc_parse_text_init(BcParse *p, const char *text)
{ {
BcStatus s; BcStatus s;
@ -3507,7 +3507,7 @@ static BC_STATUS zbc_parse_text(BcParse *p, const char *text)
RETURN_STATUS(zbc_lex_text(&p->l, text)); RETURN_STATUS(zbc_lex_text(&p->l, text));
} }
#if ERRORS_ARE_FATAL #if ERRORS_ARE_FATAL
# define zbc_parse_text(...) (zbc_parse_text(__VA_ARGS__), BC_STATUS_SUCCESS) # define zbc_parse_text_init(...) (zbc_parse_text_init(__VA_ARGS__), BC_STATUS_SUCCESS)
#endif #endif
// Called when parsing or execution detects a failure, // Called when parsing or execution detects a failure,
@ -5394,7 +5394,7 @@ static BC_STATUS zbc_program_read(void)
bc_parse_create(&parse, BC_PROG_READ); bc_parse_create(&parse, BC_PROG_READ);
bc_lex_file(&parse.l); bc_lex_file(&parse.l);
s = zbc_parse_text(&parse, buf.v); s = zbc_parse_text_init(&parse, buf.v);
if (s) goto exec_err; if (s) goto exec_err;
s = zcommon_parse_expr(&parse, BC_PARSE_NOREAD); s = zcommon_parse_expr(&parse, BC_PARSE_NOREAD);
if (s) goto exec_err; if (s) goto exec_err;
@ -6593,7 +6593,7 @@ static BC_STATUS zbc_program_execStr(char *code, size_t *bgn,
if (f->code.len == 0) { if (f->code.len == 0) {
bc_parse_create(&prs, fidx); bc_parse_create(&prs, fidx);
s = zbc_parse_text(&prs, *str); s = zbc_parse_text_init(&prs, *str);
if (s) goto err; if (s) goto err;
s = zcommon_parse_expr(&prs, BC_PARSE_NOCALL); s = zcommon_parse_expr(&prs, BC_PARSE_NOCALL);
if (s) goto err; if (s) goto err;
@ -6919,7 +6919,7 @@ static unsigned bc_vm_envLen(const char *var)
static BC_STATUS zbc_vm_process(const char *text) static BC_STATUS zbc_vm_process(const char *text)
{ {
BcStatus s = zbc_parse_text(&G.prs, text); BcStatus s = zbc_parse_text_init(&G.prs, text);
if (s) RETURN_STATUS(s); if (s) RETURN_STATUS(s);
@ -7320,19 +7320,11 @@ static BC_STATUS zbc_vm_exec(void)
#if ENABLE_BC #if ENABLE_BC
if (option_mask32 & BC_FLAG_L) { if (option_mask32 & BC_FLAG_L) {
// We know that internal library is not buggy, // We know that internal library is not buggy,
// thus error checking is normally disabled. // thus error checking is normally disabled.
# define DEBUG_LIB 0 # define DEBUG_LIB 0
bc_lex_file(&G.prs.l); bc_lex_file(&G.prs.l);
s = zbc_parse_text(&G.prs, bc_lib); ERROR_RETURN(s =) zbc_vm_process(bc_lib);
if (DEBUG_LIB && s) RETURN_STATUS(s);
while (G.prs.l.t.t != BC_LEX_EOF) {
ERROR_RETURN(s =) zcommon_parse(&G.prs);
if (DEBUG_LIB && s) RETURN_STATUS(s);
}
s = zbc_program_exec();
if (DEBUG_LIB && s) RETURN_STATUS(s); if (DEBUG_LIB && s) RETURN_STATUS(s);
} }
#endif #endif