diff options
author | Dmitry Stogov <dmitry@php.net> | 2005-10-21 08:03:28 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2005-10-21 08:03:28 +0000 |
commit | 863bf8a5745489e24c961591d9cb531bd6acba72 (patch) | |
tree | 119285bf8f2b713aba9427c42c32e5ac3970508c /ext/reflection/php_reflection.c | |
parent | d4696abdb932205065006a645d2eb4647c7a6fe9 (diff) | |
download | php-git-863bf8a5745489e24c961591d9cb531bd6acba72.tar.gz |
Fixed bug #29268 (__autoload() not called with Reflection->getClass())
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r-- | ext/reflection/php_reflection.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 05df2d6fd6..cd56a3213d 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -1740,15 +1740,12 @@ ZEND_METHOD(reflection_parameter, getClass) RETURN_NULL(); } else { zend_class_entry **pce; - char *lcname = do_alloca(param->arg_info->class_name_len + 1); - zend_str_tolower_copy(lcname, param->arg_info->class_name, param->arg_info->class_name_len); - if (zend_hash_find(EG(class_table), lcname, param->arg_info->class_name_len + 1, (void **) &pce) == FAILURE) { - free_alloca(lcname); + + if (zend_lookup_class_ex(param->arg_info->class_name, param->arg_info->class_name_len, 1, &pce TSRMLS_CC) == FAILURE) { zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Class %s does not exist", param->arg_info->class_name); return; } - free_alloca(lcname); zend_reflection_class_factory(*pce, return_value TSRMLS_CC); } } |