From: Dmitry Stogov Date: Fri, 9 Sep 2005 06:47:18 +0000 (+0000) Subject: MFH (is_sublass_of("A","B") should call __autoload() for "A" and "B") X-Git-Tag: RELEASE_0_9_0~251 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce0c17aa95aab12cd8f1f8caac79ba6188ed9f95;p=php MFH (is_sublass_of("A","B") should call __autoload() for "A" and "B") --- diff --git a/Zend/tests/is_a.phpt b/Zend/tests/is_a.phpt index 20daf5a5ef..dfc0d59b49 100755 --- a/Zend/tests/is_a.phpt +++ b/Zend/tests/is_a.phpt @@ -27,6 +27,8 @@ var_dump(is_subclass_of($a, "B2")); var_dump(is_subclass_of($a, "A")); var_dump(is_subclass_of($a, "BASE")); var_dump(is_subclass_of($a, "INT")); + +var_dump(is_subclass_of("X1", "X2")); ?> --EXPECTF-- Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 17 @@ -44,3 +46,6 @@ bool(false) bool(false) bool(true) bool(false) +AUTOLOAD 'X1' +AUTOLOAD 'X2' +bool(false) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 3175f9457c..5967cfc5f2 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -674,7 +674,7 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass) convert_to_text_ex(class_name); - if (zend_u_lookup_class_ex(Z_TYPE_PP(class_name), Z_UNIVAL_PP(class_name), Z_UNILEN_PP(class_name), 0, &ce TSRMLS_CC) == FAILURE) { + if (zend_u_lookup_class_ex(Z_TYPE_PP(class_name), Z_UNIVAL_PP(class_name), Z_UNILEN_PP(class_name), (instance_ce != NULL), &ce TSRMLS_CC) == FAILURE) { retval = 0; } else { if (only_subclass) {