diff options
-rw-r--r-- | miscutils/bc.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c index e62ca0f..7ddae34 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c @@ -2547,17 +2547,19 @@ static void bc_array_init(BcVec *a, bool nums) static void bc_array_expand(BcVec *a, size_t len) { - BcResultData data; - - if (a->size == sizeof(BcNum) && a->dtor == bc_num_free) { + if (a->dtor == bc_num_free + // && a->size == sizeof(BcNum) - always true + ) { + BcNum n; while (len > a->len) { - bc_num_init_DEF_SIZE(&data.n); - bc_vec_push(a, &data.n); + bc_num_init_DEF_SIZE(&n); + bc_vec_push(a, &n); } } else { + BcVec v; while (len > a->len) { - bc_array_init(&data.v, true); - bc_vec_push(a, &data.v); + bc_array_init(&v, true); + bc_vec_push(a, &v); } } } |