aboutsummaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-12-18 17:14:34 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-12-18 17:14:34 +0100
commit7b30bc0222fa5f4e539a36a15ceb7b6e413cafd2 (patch)
tree00ca5c12625e968dd19ba1a643c470eea4e5c979 /miscutils
parentd340143247f9b3aff486a2a6a4dc1e11ab8c8f86 (diff)
downloadbusybox-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.c34
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