[git commit] bc: shorten bc_program_addFunc()
Denys Vlasenko
vda.linux at googlemail.com
Wed Dec 19 19:05:50 UTC 2018
commit: https://git.busybox.net/busybox/commit/?id=eaa3b00002e23e2ecccade3e06790dd524e7b662
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
function old new delta
bc_func_init - 50 +50
bc_program_addFunc 201 138 -63
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 50/-63) Total: -13 bytes
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
miscutils/bc.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/miscutils/bc.c b/miscutils/bc.c
index 7fcf00aa9..c59d5a2b5 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -3624,13 +3624,11 @@ static size_t bc_program_addFunc(char *name)
idx = entry_ptr->idx;
if (!inserted) {
+ // There is already a function with this name.
+ // It'll be redefined now, clear old definition.
BcFunc *func = bc_program_func(entry_ptr->idx);
-
- // We need to reset these, so the function can be repopulated.
- func->nparams = 0;
- bc_vec_pop_all(&func->autos);
- bc_vec_pop_all(&func->code);
- bc_vec_pop_all(&func->labels);
+ bc_func_free(func);
+ bc_func_init(func);
} else {
bc_func_init(&f);
bc_vec_push(&G.prog.fns, &f);
More information about the busybox-cvs
mailing list