Browse Source

Fixed bug #62976 (Notice: could not be converted to int when comparing some builtin classes)

pull/181/merge
Xinchen Hui 13 years ago
parent
commit
5dc2cef370
  1. 2
      NEWS
  2. 3
      Zend/zend_operators.c
  3. 8
      tests/lang/compare_objects_basic2.phpt

2
NEWS

@ -3,6 +3,8 @@ PHP NEWS
?? ??? 2012, PHP 5.3.16
- Core:
. Fixed bug #62976 (Notice: could not be converted to int when comparing
some builtin classes). (Laruence)
. Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence)
. Fixed bug #62955 (Only one directive is loaded from "Per Directory Values"
Windows registry). (aserbulov at parallels dot com)

3
Zend/zend_operators.c

@ -1489,6 +1489,9 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
ret = compare_function(result, op1, op_free TSRMLS_CC);
zend_free_obj_get_result(op_free TSRMLS_CC);
return ret;
} else if (Z_TYPE_P(op1) == IS_OBJECT) {
ZVAL_LONG(result, 1);
return SUCCESS;
}
}
if (!converted) {

8
tests/lang/compare_objects_basic2.phpt

@ -20,9 +20,5 @@ var_dump($obj1 == $obj2);
===DONE===
--EXPECTF--
Simple test comparing two objects with different compare callback handler
Notice: Object of class X could not be converted to int in %s on line %d
Notice: Object of class DateTime could not be converted to int in %s on line %d
bool(true)
===DONE===
bool(false)
===DONE===
Loading…
Cancel
Save