diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-13 19:58:58 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-13 19:58:58 +0100 |
commit | 0fe270e77536c8248bbf1c6045229d7ec3aaf8d3 (patch) | |
tree | 7d54faa7044a054d837ab5554680b5d576a35b8b | |
parent | 915c72b27301c933a8efbf4036293ddc1ea35b7d (diff) | |
download | busybox-0fe270e77536c8248bbf1c6045229d7ec3aaf8d3.tar.gz |
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 <vda.linux@googlemail.com>
-rw-r--r-- | miscutils/bc.c | 11 |
1 files 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); |