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);
}
}
}