bc: simplify bc_array_expand()
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
30a8e0c2f9
commit
d6e24bd795
@ -2547,17 +2547,19 @@ static void bc_array_init(BcVec *a, bool nums)
|
|||||||
|
|
||||||
static void bc_array_expand(BcVec *a, size_t len)
|
static void bc_array_expand(BcVec *a, size_t len)
|
||||||
{
|
{
|
||||||
BcResultData data;
|
if (a->dtor == bc_num_free
|
||||||
|
// && a->size == sizeof(BcNum) - always true
|
||||||
if (a->size == sizeof(BcNum) && a->dtor == bc_num_free) {
|
) {
|
||||||
|
BcNum n;
|
||||||
while (len > a->len) {
|
while (len > a->len) {
|
||||||
bc_num_init_DEF_SIZE(&data.n);
|
bc_num_init_DEF_SIZE(&n);
|
||||||
bc_vec_push(a, &data.n);
|
bc_vec_push(a, &n);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
BcVec v;
|
||||||
while (len > a->len) {
|
while (len > a->len) {
|
||||||
bc_array_init(&data.v, true);
|
bc_array_init(&v, true);
|
||||||
bc_vec_push(a, &data.v);
|
bc_vec_push(a, &v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user