Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2011-07-04 12:49:46 UTC (rev 312903) +++ php/php-src/branches/PHP_5_3/NEWS 2011-07-04 14:55:39 UTC (rev 312904) @@ -1,6 +1,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2011, PHP 5.3.7 +- Core + . Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) + (Ralph Schindler, Dmitry) + - PDO DBlib: . Fixed bug #54329 (MSSql extension memory leak). (dotslashpok at gmail dot com) Added: php/php-src/branches/PHP_5_3/Zend/tests/bug53727.phpt =================================================================== --- php/php-src/branches/PHP_5_3/Zend/tests/bug53727.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/Zend/tests/bug53727.phpt 2011-07-04 14:55:39 UTC (rev 312904) @@ -0,0 +1,22 @@ +--TEST-- +Bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) +--FILE-- +parent; - } else { - instance_ce = instance_ce->parent; - } + if (only_subclass && instance_ce == *ce) { + retval = 0; } else { - instance_ce = Z_OBJCE_P(obj); + retval = instanceof_function(instance_ce, *ce TSRMLS_CC); } - - if (!instance_ce) { - RETURN_FALSE; - } - - if (instanceof_function(instance_ce, *ce TSRMLS_CC)) { - retval = 1; - } else { - retval = 0; - } } RETURN_BOOL(retval); Modified: php/php-src/branches/PHP_5_3/ext/standard/tests/class_object/is_a_variation_001.phpt =================================================================== --- php/php-src/branches/PHP_5_3/ext/standard/tests/class_object/is_a_variation_001.phpt 2011-07-04 12:49:46 UTC (rev 312903) +++ php/php-src/branches/PHP_5_3/ext/standard/tests/class_object/is_a_variation_001.phpt 2011-07-04 14:55:39 UTC (rev 312904) @@ -144,15 +144,23 @@ bool(false) Arg value + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value string + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value String + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value Added: php/php-src/branches/PHP_5_4/Zend/tests/bug53727.phpt =================================================================== --- php/php-src/branches/PHP_5_4/Zend/tests/bug53727.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/Zend/tests/bug53727.phpt 2011-07-04 14:55:39 UTC (rev 312904) @@ -0,0 +1,22 @@ +--TEST-- +Bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) +--FILE-- +parent; - } else { - instance_ce = instance_ce->parent; - } - } else { - instance_ce = Z_OBJCE_P(obj); - } - - if (!instance_ce) { - RETURN_FALSE; - } - - if (instanceof_function(instance_ce, *ce TSRMLS_CC)) { - retval = 1; - } else { + if (only_subclass && instance_ce == *ce) { retval = 0; + } else { + retval = instanceof_function(instance_ce, *ce TSRMLS_CC); } } Modified: php/php-src/branches/PHP_5_4/ext/standard/tests/class_object/is_a_variation_001.phpt =================================================================== --- php/php-src/branches/PHP_5_4/ext/standard/tests/class_object/is_a_variation_001.phpt 2011-07-04 12:49:46 UTC (rev 312903) +++ php/php-src/branches/PHP_5_4/ext/standard/tests/class_object/is_a_variation_001.phpt 2011-07-04 14:55:39 UTC (rev 312904) @@ -144,15 +144,23 @@ bool(false) Arg value + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value string + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value String + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value Added: php/php-src/trunk/Zend/tests/bug53727.phpt =================================================================== --- php/php-src/trunk/Zend/tests/bug53727.phpt (rev 0) +++ php/php-src/trunk/Zend/tests/bug53727.phpt 2011-07-04 14:55:39 UTC (rev 312904) @@ -0,0 +1,22 @@ +--TEST-- +Bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) +--FILE-- +parent; - } else { - instance_ce = instance_ce->parent; - } - } else { - instance_ce = Z_OBJCE_P(obj); - } - - if (!instance_ce) { - RETURN_FALSE; - } - - if (instanceof_function(instance_ce, *ce TSRMLS_CC)) { - retval = 1; - } else { + if (only_subclass && instance_ce == *ce) { retval = 0; + } else { + retval = instanceof_function(instance_ce, *ce TSRMLS_CC); } } Modified: php/php-src/trunk/ext/standard/tests/class_object/is_a_variation_001.phpt =================================================================== --- php/php-src/trunk/ext/standard/tests/class_object/is_a_variation_001.phpt 2011-07-04 12:49:46 UTC (rev 312903) +++ php/php-src/trunk/ext/standard/tests/class_object/is_a_variation_001.phpt 2011-07-04 14:55:39 UTC (rev 312904) @@ -144,15 +144,23 @@ bool(false) Arg value + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value string + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value String + +Warning: Unknown class passed as parameter in %sis_a_variation_001.php on line %d bool(false) Arg value