Index: Zend/zend_operators.c =================================================================== RCS file: /repository/ZendEngine2/zend_operators.c,v retrieving revision 1.208.2.4 diff -u -p -d -r1.208.2.4 zend_operators.c --- Zend/zend_operators.c 5 Feb 2006 17:07:40 -0000 1.208.2.4 +++ Zend/zend_operators.c 23 Feb 2006 15:15:38 -0000 @@ -1370,6 +1370,13 @@ ZEND_API int compare_function(zval *resu result->value.lval = op1->value.lval>op2->value.lval?1:(op1->value.lvalvalue.lval?-1:0); COMPARE_RETURN_AND_FREE(SUCCESS); } + if (op1->type == IS_DOUBLE && op2->type == IS_DOUBLE) { + if (zend_isinf(op1->value.dval) && zend_isinf(op2->value.dval)) { + result->type = IS_DOUBLE; + result->value.dval = 0; + COMPARE_RETURN_AND_FREE(SUCCESS); + } + } if ((op1->type == IS_DOUBLE || op1->type == IS_LONG) && (op2->type == IS_DOUBLE || op2->type == IS_LONG)) { result->value.dval = (op1->type == IS_LONG ? (double) op1->value.lval : op1->value.dval) - (op2->type == IS_LONG ? (double) op2->value.lval : op2->value.dval);