From 0fe270e77536c8248bbf1c6045229d7ec3aaf8d3 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 13 Dec 2018 19:58:58 +0100 Subject: [PATCH] bc: simplify filename saving in zbc_vm_file() function old new delta bc_vm_run 433 423 -10 zbc_vm_file 187 174 -13 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-23) Total: -23 bytes text data bss dec hex filename 980350 485 7296 988131 f13e3 busybox_old 980327 485 7296 988108 f13cc busybox_unstripped Signed-off-by: Denys Vlasenko --- miscutils/bc.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/miscutils/bc.c b/miscutils/bc.c index 57c9ca565..5930caa32 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c @@ -7010,7 +7010,9 @@ static BC_STATUS zbc_vm_process(const char *text) static BC_STATUS zbc_vm_file(const char *file) { - const char *sv_file; + // So far bc/dc have no way to include a file from another file, + // therefore we know G.prog.file == NULL on entry + //const char *sv_file; char *data; BcStatus s; BcFunc *main_func; @@ -7019,7 +7021,7 @@ static BC_STATUS zbc_vm_file(const char *file) data = bc_read_file(file); if (!data) RETURN_STATUS(bc_error_fmt("file '%s' is not text", file)); - sv_file = G.prog.file; + //sv_file = G.prog.file; G.prog.file = file; bc_lex_file(&G.prs.l); s = zbc_vm_process(data); @@ -7032,7 +7034,8 @@ static BC_STATUS zbc_vm_file(const char *file) s = bc_error_fmt("file '%s' is not executable", file); err: - G.prog.file = sv_file; + //G.prog.file = sv_file; + G.prog.file = NULL; free(data); RETURN_STATUS(s); } @@ -7047,7 +7050,7 @@ static BC_STATUS zbc_vm_stdin(void) size_t str; bool comment; - G.prog.file = NULL; + //G.prog.file = NULL; - already is bc_lex_file(&G.prs.l); bc_char_vec_init(&buffer); -- 2.25.1