diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-19 17:59:30 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-19 17:59:30 +0100 |
commit | eac0de55d69a4eea87689c1d4800eb8e80824aca (patch) | |
tree | f5262f97e846088a221738f7087b27c9081742e7 | |
parent | 87888ce4d826a117bac89fe3475a8ae859a6e42a (diff) | |
download | busybox-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.c | 6 |
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 | ||
2573 | static void bc_array_copy(BcVec *d, const BcVec *s) | 2573 | static 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 | } |