From eaa3b00002e23e2ecccade3e06790dd524e7b662 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 19 Dec 2018 20:05:50 +0100 Subject: 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 --- miscutils/bc.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'miscutils') 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); -- cgit v1.2.3