]> granicus.if.org Git - php/commitdiff
MFH (is_sublass_of("A","B") should call __autoload() for "A" and "B")
authorDmitry Stogov <dmitry@php.net>
Fri, 9 Sep 2005 06:47:18 +0000 (06:47 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 9 Sep 2005 06:47:18 +0000 (06:47 +0000)
Zend/tests/is_a.phpt
Zend/zend_builtin_functions.c

index 20daf5a5ef3743f766c29e05416f6f471d9b98c7..dfc0d59b490b32d7985026419f0281f0e5d93863 100755 (executable)
@@ -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)
index 3175f9457cf301b405b9848a5425684010dd376d..5967cfc5f2118862bdddaa15b8261e216369efaf 100644 (file)
@@ -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) {