@@ -124,27 +124,23 @@ bc_num _bc_do_add(bc_num n1, bc_num n2, size_t scale_min)
124
124
bc_num _bc_do_sub (bc_num n1 , bc_num n2 , size_t scale_min )
125
125
{
126
126
bc_num diff ;
127
- size_t diff_scale , diff_len ;
128
- size_t min_scale , min_len ;
129
- size_t borrow , count ;
127
+ size_t diff_len = MAX (n1 -> n_len , n2 -> n_len );
128
+ size_t diff_scale = MAX (n1 -> n_scale , n2 -> n_scale );
129
+ size_t min_len = MIN (n1 -> n_len , n2 -> n_len );
130
+ size_t min_scale = MIN (n1 -> n_scale , n2 -> n_scale );
131
+ size_t borrow = 0 ;
132
+ size_t count ;
130
133
int val ;
131
134
char * n1ptr , * n2ptr , * diffptr ;
132
135
133
136
/* Allocate temporary storage. */
134
- diff_len = MAX (n1 -> n_len , n2 -> n_len );
135
- diff_scale = MAX (n1 -> n_scale , n2 -> n_scale );
136
- min_len = MIN (n1 -> n_len , n2 -> n_len );
137
- min_scale = MIN (n1 -> n_scale , n2 -> n_scale );
138
137
diff = bc_new_num (diff_len , MAX (diff_scale , scale_min ));
139
138
140
139
/* Initialize the subtract. */
141
140
n1ptr = (char * ) (n1 -> n_value + n1 -> n_len + n1 -> n_scale - 1 );
142
141
n2ptr = (char * ) (n2 -> n_value + n2 -> n_len + n2 -> n_scale - 1 );
143
142
diffptr = (char * ) (diff -> n_value + diff_len + diff_scale - 1 );
144
143
145
- /* Subtract the numbers. */
146
- borrow = 0 ;
147
-
148
144
/* Take care of the longer scaled number. */
149
145
if (n1 -> n_scale != min_scale ) {
150
146
/* n1 has the longer scale */
0 commit comments