summaryrefslogtreecommitdiff
path: root/Zend/zend_reflection_api.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-10-21 08:03:39 +0000
committerDmitry Stogov <dmitry@php.net>2005-10-21 08:03:39 +0000
commit6ef4239827aec605ba5f65c42cea45a3517b7e44 (patch)
tree50f1051ea1140187d3560a3e6ac2cef58de87e07 /Zend/zend_reflection_api.c
parentde963851602b7e588c40e0b8bdd7e7429ead230e (diff)
downloadphp-git-6ef4239827aec605ba5f65c42cea45a3517b7e44.tar.gz
Fixed bug #29268 (__autoload() not called with Reflection->getClass())
Diffstat (limited to 'Zend/zend_reflection_api.c')
-rw-r--r--Zend/zend_reflection_api.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/Zend/zend_reflection_api.c b/Zend/zend_reflection_api.c
index f7c816b3ee..588e44669c 100644
--- a/Zend/zend_reflection_api.c
+++ b/Zend/zend_reflection_api.c
@@ -1857,16 +1857,12 @@ ZEND_METHOD(reflection_parameter, getClass)
RETURN_NULL();
} else {
zend_class_entry **pce;
- unsigned int lcname_len;
- char *lcname = zend_u_str_case_fold(UG(unicode)?IS_UNICODE:IS_STRING, param->arg_info->class_name, param->arg_info->class_name_len, 0, &lcname_len);
- if (zend_u_hash_find(EG(class_table), UG(unicode)?IS_UNICODE:IS_STRING, lcname, lcname_len + 1, (void **) &pce) == FAILURE) {
- efree(lcname);
+ if (zend_u_lookup_class_ex(UG(unicode)?IS_UNICODE:IS_STRING, param->arg_info->class_name, param->arg_info->class_name_len, 1, &pce TSRMLS_CC) == FAILURE) {
zend_throw_exception_ex(U_CLASS_ENTRY(reflection_exception_ptr), 0 TSRMLS_CC,
"Class %v does not exist", param->arg_info->class_name);
return;
}
- efree(lcname);
zend_reflection_class_factory(*pce, return_value TSRMLS_CC);
}
}