diff options
author | Denys Vlasenko | 2018-12-19 20:05:50 +0100 |
---|---|---|
committer | Denys Vlasenko | 2018-12-19 20:05:50 +0100 |
commit | eaa3b00002e23e2ecccade3e06790dd524e7b662 (patch) | |
tree | 9cc10f93ae359246d072f43a10476cabebdfe6e1 /miscutils/bc.c | |
parent | 408b7d45f638dd163fc38d12d08ef94403412c90 (diff) | |
download | busybox-eaa3b00002e23e2ecccade3e06790dd524e7b662.zip busybox-eaa3b00002e23e2ecccade3e06790dd524e7b662.tar.gz |
bc: shorten bc_program_addFunc()
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@googlemail.com>
Diffstat (limited to 'miscutils/bc.c')
-rw-r--r-- | miscutils/bc.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c index 7fcf00a..c59d5a2 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); |