Skip to content

Commit 959ea5f

Browse files
Avoid unnecessary memset (#14180)
Avoid unnecessary memset from `_bc_do_sub`
1 parent 4988816 commit 959ea5f

File tree

4 files changed

+7
-7
lines changed

4 files changed

+7
-7
lines changed

ext/bcmath/libbcmath/src/add.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ bc_num bc_add(bc_num n1, bc_num n2, size_t scale_min)
5252
switch (_bc_do_compare(n1, n2, false)) {
5353
case -1:
5454
/* n1 is less than n2, subtract n1 from n2. */
55-
sum = _bc_do_sub(n2, n1, scale_min);
55+
sum = _bc_do_sub(n2, n1);
5656
sum->n_sign = n2->n_sign;
5757
break;
5858
case 0:
@@ -61,7 +61,7 @@ bc_num bc_add(bc_num n1, bc_num n2, size_t scale_min)
6161
break;
6262
case 1:
6363
/* n2 is less than n1, subtract n2 from n1. */
64-
sum = _bc_do_sub(n1, n2, scale_min);
64+
sum = _bc_do_sub(n1, n2);
6565
sum->n_sign = n1->n_sign;
6666
}
6767
}

ext/bcmath/libbcmath/src/doaddsub.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ bc_num _bc_do_add(bc_num n1, bc_num n2, size_t scale_min)
169169
returned. The signs of N1 and N2 are ignored. Also, N1 is
170170
assumed to be larger than N2. SCALE_MIN is the minimum scale
171171
of the result. */
172-
bc_num _bc_do_sub(bc_num n1, bc_num n2, size_t scale_min)
172+
bc_num _bc_do_sub(bc_num n1, bc_num n2)
173173
{
174174
bc_num diff;
175175
/* The caller is guaranteed that n1 is always large. */
@@ -185,7 +185,7 @@ bc_num _bc_do_sub(bc_num n1, bc_num n2, size_t scale_min)
185185
char *n1ptr, *n2ptr, *diffptr;
186186

187187
/* Allocate temporary storage. */
188-
diff = bc_new_num (diff_len, MAX(diff_scale, scale_min));
188+
diff = bc_new_num_nonzeroed(diff_len, diff_scale);
189189

190190
/* Initialize the subtract. */
191191
n1ptr = (char *) (n1->n_value + n1->n_len + n1->n_scale - 1);

ext/bcmath/libbcmath/src/private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,5 @@ static inline uint64_t BC_BSWAP64(uint64_t u)
9999
/* routines */
100100
int _bc_do_compare (bc_num n1, bc_num n2, bool use_sign);
101101
bc_num _bc_do_add (bc_num n1, bc_num n2, size_t scale_min);
102-
bc_num _bc_do_sub (bc_num n1, bc_num n2, size_t scale_min);
102+
bc_num _bc_do_sub (bc_num n1, bc_num n2);
103103
void _bc_rm_leading_zeros (bc_num num);

ext/bcmath/libbcmath/src/sub.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ bc_num bc_sub(bc_num n1, bc_num n2, size_t scale_min)
5252
switch (_bc_do_compare(n1, n2, false)) {
5353
case -1:
5454
/* n1 is less than n2, subtract n1 from n2. */
55-
diff = _bc_do_sub(n2, n1, scale_min);
55+
diff = _bc_do_sub(n2, n1);
5656
diff->n_sign = (n2->n_sign == PLUS ? MINUS : PLUS);
5757
break;
5858
case 0: {
@@ -63,7 +63,7 @@ bc_num bc_sub(bc_num n1, bc_num n2, size_t scale_min)
6363
}
6464
case 1:
6565
/* n2 is less than n1, subtract n2 from n1. */
66-
diff = _bc_do_sub(n1, n2, scale_min);
66+
diff = _bc_do_sub(n1, n2);
6767
diff->n_sign = n1->n_sign;
6868
break;
6969
}

0 commit comments

Comments
 (0)