mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
MFH: fix bug #45712 ($something == NaN returns true with 5.3, false with 5.2.*)
This commit is contained in:
parent
471c480d11
commit
53a957e5f8
@ -1383,15 +1383,18 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC)
|
|||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
||||||
case TYPE_PAIR(IS_DOUBLE, IS_LONG):
|
case TYPE_PAIR(IS_DOUBLE, IS_LONG):
|
||||||
ZVAL_LONG(result, Z_DVAL_P(op1)>((double)Z_LVAL_P(op2))?1:(Z_DVAL_P(op1)<((double)Z_LVAL_P(op2))?-1:0));
|
Z_DVAL_P(result) = Z_DVAL_P(op1) - (double)Z_LVAL_P(op2);
|
||||||
|
ZVAL_LONG(result, ZEND_NORMALIZE_BOOL(Z_DVAL_P(result)));
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
||||||
case TYPE_PAIR(IS_LONG, IS_DOUBLE):
|
case TYPE_PAIR(IS_LONG, IS_DOUBLE):
|
||||||
ZVAL_LONG(result, ((double)Z_LVAL_P(op1))>Z_DVAL_P(op2)?1:(((double)Z_LVAL_P(op1))<Z_DVAL_P(op2)?-1:0));
|
Z_DVAL_P(result) = (double)Z_LVAL_P(op1) - Z_DVAL_P(op2);
|
||||||
|
ZVAL_LONG(result, ZEND_NORMALIZE_BOOL(Z_DVAL_P(result)));
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
||||||
case TYPE_PAIR(IS_DOUBLE, IS_DOUBLE):
|
case TYPE_PAIR(IS_DOUBLE, IS_DOUBLE):
|
||||||
ZVAL_LONG(result, Z_DVAL_P(op1)>Z_DVAL_P(op2)?1:(Z_DVAL_P(op1)<Z_DVAL_P(op2)?-1:0));
|
Z_DVAL_P(result) = Z_DVAL_P(op1) - Z_DVAL_P(op2);
|
||||||
|
ZVAL_LONG(result, ZEND_NORMALIZE_BOOL(Z_DVAL_P(result)));
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
||||||
case TYPE_PAIR(IS_ARRAY, IS_ARRAY):
|
case TYPE_PAIR(IS_ARRAY, IS_ARRAY):
|
||||||
|
@ -50,13 +50,13 @@ bool(false)
|
|||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(true)
|
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(true)
|
bool(false)
|
||||||
|
bool(false)
|
||||||
float(INF)
|
float(INF)
|
||||||
bool(true)
|
bool(true)
|
||||||
bool(false)
|
bool(false)
|
||||||
@ -64,7 +64,7 @@ bool(false)
|
|||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(true)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
|
Loading…
Reference in New Issue
Block a user