Skip to content

Commit 19774a7

Browse files
committed
ext/gmp: gmp_invert addressing todo.
1 parent 14b6c98 commit 19774a7

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

ext/gmp/gmp.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1585,17 +1585,14 @@ ZEND_FUNCTION(gmp_invert)
15851585
RETURN_THROWS();
15861586
}
15871587

1588-
FETCH_GMP_ZVAL(gmpnum_a, a_arg, temp_a, 1);
1589-
FETCH_GMP_ZVAL_DEP(gmpnum_b, b_arg, temp_b, temp_a, 2);
1590-
1591-
// TODO Early check if b_arg IS_LONG?
1592-
if (0 == mpz_cmp_ui(gmpnum_b, 0)) {
1588+
if (Z_TYPE_P(b_arg) == IS_LONG && Z_LVAL_P(b_arg) == 0) {
15931589
zend_throw_exception_ex(zend_ce_division_by_zero_error, 0, "Division by zero");
1594-
FREE_GMP_TEMP(temp_a);
1595-
FREE_GMP_TEMP(temp_b);
15961590
RETURN_THROWS();
15971591
}
15981592

1593+
FETCH_GMP_ZVAL(gmpnum_a, a_arg, temp_a, 1);
1594+
FETCH_GMP_ZVAL_DEP(gmpnum_b, b_arg, temp_b, temp_a, 2);
1595+
15991596
INIT_GMP_RETVAL(gmpnum_result);
16001597
res = mpz_invert(gmpnum_result, gmpnum_a, gmpnum_b);
16011598
FREE_GMP_TEMP(temp_a);

0 commit comments

Comments
 (0)