diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-18 17:14:34 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-18 17:14:34 +0100 |
commit | 7b30bc0222fa5f4e539a36a15ceb7b6e413cafd2 (patch) | |
tree | 00ca5c12625e968dd19ba1a643c470eea4e5c979 /miscutils | |
parent | d340143247f9b3aff486a2a6a4dc1e11ab8c8f86 (diff) | |
download | busybox-w32-7b30bc0222fa5f4e539a36a15ceb7b6e413cafd2.tar.gz busybox-w32-7b30bc0222fa5f4e539a36a15ceb7b6e413cafd2.tar.bz2 busybox-w32-7b30bc0222fa5f4e539a36a15ceb7b6e413cafd2.zip |
bc: shrink bc_program_pushVar()
function old new delta
bc_program_pushVar 203 198 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'miscutils')
-rw-r--r-- | miscutils/bc.c | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c index 566808e92..40bb29942 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c | |||
@@ -5718,31 +5718,25 @@ static BC_STATUS bc_program_pushVar(char *code, size_t *bgn, | |||
5718 | r.d.id.name = name; | 5718 | r.d.id.name = name; |
5719 | 5719 | ||
5720 | #if ENABLE_DC | 5720 | #if ENABLE_DC |
5721 | { | 5721 | if (pop || copy) { |
5722 | BcVec *v = bc_program_search(name, true); | 5722 | BcVec *v = bc_program_search(name, true); |
5723 | BcNum *num = bc_vec_top(v); | 5723 | BcNum *num = bc_vec_top(v); |
5724 | 5724 | ||
5725 | if (pop || copy) { | 5725 | free(name); |
5726 | if (!BC_PROG_STACK(v, 2 - copy)) { | 5726 | if (!BC_PROG_STACK(v, 2 - copy)) { |
5727 | free(name); | 5727 | RETURN_STATUS(bc_error_stack_has_too_few_elements()); |
5728 | RETURN_STATUS(bc_error_stack_has_too_few_elements()); | 5728 | } |
5729 | } | ||
5730 | |||
5731 | free(name); | ||
5732 | name = NULL; | ||
5733 | |||
5734 | if (!BC_PROG_STR(num)) { | ||
5735 | r.t = BC_RESULT_TEMP; | ||
5736 | |||
5737 | bc_num_init_DEF_SIZE(&r.d.n); | ||
5738 | bc_num_copy(&r.d.n, num); | ||
5739 | } else { | ||
5740 | r.t = BC_RESULT_STR; | ||
5741 | r.d.id.idx = num->rdx; | ||
5742 | } | ||
5743 | 5729 | ||
5744 | if (!copy) bc_vec_pop(v); | 5730 | if (!BC_PROG_STR(num)) { |
5731 | r.t = BC_RESULT_TEMP; | ||
5732 | bc_num_init_DEF_SIZE(&r.d.n); | ||
5733 | bc_num_copy(&r.d.n, num); | ||
5734 | } else { | ||
5735 | r.t = BC_RESULT_STR; | ||
5736 | r.d.id.idx = num->rdx; | ||
5745 | } | 5737 | } |
5738 | |||
5739 | if (!copy) bc_vec_pop(v); | ||
5746 | } | 5740 | } |
5747 | #endif // ENABLE_DC | 5741 | #endif // ENABLE_DC |
5748 | 5742 | ||