Skip to content

Commit eeea685

Browse files
committed
after merge fix
1 parent 7e86166 commit eeea685

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

Zend/zend_operators.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -969,51 +969,51 @@ ZEND_API int pow_function(zval *result, zval *op1, zval *op2 TSRMLS_DC)
969969

970970
while (1) {
971971
switch (TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2))) {
972-
case TYPE_PAIR(IS_LONG, IS_LONG):
973-
if (Z_LVAL_P(op2) >= 0) {
974-
long l1 = 1, l2 = Z_LVAL_P(op1), i = Z_LVAL_P(op2);
972+
case TYPE_PAIR(IS_INT, IS_INT):
973+
if (Z_IVAL_P(op2) >= 0) {
974+
zend_int_t l1 = 1, l2 = Z_IVAL_P(op1), i = Z_IVAL_P(op2);
975975

976976
if (i == 0) {
977-
ZVAL_LONG(result, 1L);
977+
ZVAL_INT(result, 1L);
978978
return SUCCESS;
979979
} else if (l2 == 0) {
980-
ZVAL_LONG(result, 0);
980+
ZVAL_INT(result, 0);
981981
return SUCCESS;
982982
}
983983

984984
while (i >= 1) {
985-
long overflow;
985+
zend_int_t overflow;
986986
double dval = 0.0;
987987

988988
if (i % 2) {
989989
--i;
990-
ZEND_SIGNED_MULTIPLY_LONG(l1, l2, l1, dval, overflow);
990+
ZEND_SIGNED_MULTIPLY_INT(l1, l2, l1, dval, overflow);
991991
if (overflow) {
992992
ZVAL_DOUBLE(result, dval * pow(l2, i));
993993
return SUCCESS;
994994
}
995995
} else {
996996
i /= 2;
997-
ZEND_SIGNED_MULTIPLY_LONG(l2, l2, l2, dval, overflow);
997+
ZEND_SIGNED_MULTIPLY_INT(l2, l2, l2, dval, overflow);
998998
if (overflow) {
999999
ZVAL_DOUBLE(result, (double)l1 * pow(dval, i));
10001000
return SUCCESS;
10011001
}
10021002
}
10031003
}
10041004
/* i == 0 */
1005-
ZVAL_LONG(result, l1);
1005+
ZVAL_INT(result, l1);
10061006
} else {
1007-
ZVAL_DOUBLE(result, pow((double)Z_LVAL_P(op1), (double)Z_LVAL_P(op2)));
1007+
ZVAL_DOUBLE(result, pow((double)Z_IVAL_P(op1), (double)Z_IVAL_P(op2)));
10081008
}
10091009
return SUCCESS;
10101010

1011-
case TYPE_PAIR(IS_LONG, IS_DOUBLE):
1012-
ZVAL_DOUBLE(result, pow((double)Z_LVAL_P(op1), Z_DVAL_P(op2)));
1011+
case TYPE_PAIR(IS_INT, IS_DOUBLE):
1012+
ZVAL_DOUBLE(result, pow((double)Z_IVAL_P(op1), Z_DVAL_P(op2)));
10131013
return SUCCESS;
10141014

1015-
case TYPE_PAIR(IS_DOUBLE, IS_LONG):
1016-
ZVAL_DOUBLE(result, pow(Z_DVAL_P(op1), (double)Z_LVAL_P(op2)));
1015+
case TYPE_PAIR(IS_DOUBLE, IS_INT):
1016+
ZVAL_DOUBLE(result, pow(Z_DVAL_P(op1), (double)Z_IVAL_P(op2)));
10171017
return SUCCESS;
10181018

10191019
case TYPE_PAIR(IS_DOUBLE, IS_DOUBLE):
@@ -1025,12 +1025,12 @@ ZEND_API int pow_function(zval *result, zval *op1, zval *op2 TSRMLS_DC)
10251025
ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_POW);
10261026

10271027
if (Z_TYPE_P(op1) == IS_ARRAY) {
1028-
ZVAL_LONG(op1, 0);
1028+
ZVAL_INT(op1, 0);
10291029
} else {
10301030
zendi_convert_scalar_to_number(op1, op1_copy, result);
10311031
}
10321032
if (Z_TYPE_P(op2) == IS_ARRAY) {
1033-
ZVAL_LONG(op2, 0);
1033+
ZVAL_INT(op2, 0);
10341034
} else {
10351035
zendi_convert_scalar_to_number(op2, op2_copy, result);
10361036
}

0 commit comments

Comments
 (0)