aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-12-19 17:59:30 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-12-19 17:59:30 +0100
commiteac0de55d69a4eea87689c1d4800eb8e80824aca (patch)
treef5262f97e846088a221738f7087b27c9081742e7
parent87888ce4d826a117bac89fe3475a8ae859a6e42a (diff)
downloadbusybox-w32-eac0de55d69a4eea87689c1d4800eb8e80824aca.tar.gz
busybox-w32-eac0de55d69a4eea87689c1d4800eb8e80824aca.tar.bz2
busybox-w32-eac0de55d69a4eea87689c1d4800eb8e80824aca.zip
bc: avoid bc_vec_item() calls in bc_array_copy()
function old new delta zbc_program_copyToVar 311 300 -11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-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)
2572 2572
2573static void bc_array_copy(BcVec *d, const BcVec *s) 2573static void bc_array_copy(BcVec *d, const BcVec *s)
2574{ 2574{
2575 BcNum *dnum, *snum;
2575 size_t i; 2576 size_t i;
2576 2577
2577 bc_vec_pop_all(d); 2578 bc_vec_pop_all(d);
2578 bc_vec_expand(d, s->cap); 2579 bc_vec_expand(d, s->cap);
2579 d->len = s->len; 2580 d->len = s->len;
2580 2581
2581 for (i = 0; i < s->len; ++i) { 2582 dnum = (void*)d->v;
2582 BcNum *dnum = bc_vec_item(d, i), *snum = bc_vec_item(s, i); 2583 snum = (void*)s->v;
2584 for (i = 0; i < s->len; i++, dnum++, snum++) {
2583 bc_num_init(dnum, snum->len); 2585 bc_num_init(dnum, snum->len);
2584 bc_num_copy(dnum, snum); 2586 bc_num_copy(dnum, snum);
2585 } 2587 }