aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--miscutils/bc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index 8316933f6..01442c33b 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -2572,14 +2572,16 @@ static void bc_array_expand(BcVec *a, size_t len)
static void bc_array_copy(BcVec *d, const BcVec *s)
{
+ BcNum *dnum, *snum;
size_t i;
bc_vec_pop_all(d);
bc_vec_expand(d, s->cap);
d->len = s->len;
- for (i = 0; i < s->len; ++i) {
- BcNum *dnum = bc_vec_item(d, i), *snum = bc_vec_item(s, i);
+ dnum = (void*)d->v;
+ snum = (void*)s->v;
+ for (i = 0; i < s->len; i++, dnum++, snum++) {
bc_num_init(dnum, snum->len);
bc_num_copy(dnum, snum);
}