summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_builtin_functions.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 6734250463..f9b2253470 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1614,16 +1614,20 @@ ZEND_FUNCTION(get_extension_funcs)
}
convert_to_string_ex(extension_name);
- if (zend_hash_find(&module_registry, Z_STRVAL_PP(extension_name),
- Z_STRLEN_PP(extension_name)+1, (void**)&module) == FAILURE) {
- return;
+ if (strncasecmp(Z_STRVAL_PP(extension_name), "zend", sizeof("zend"))) {
+ if (zend_hash_find(&module_registry, Z_STRVAL_PP(extension_name),
+ Z_STRLEN_PP(extension_name)+1, (void**)&module) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+ if (!(func = module->functions)) {
+ RETURN_FALSE;
+ }
+ } else {
+ func = builtin_functions;
}
array_init(return_value);
- func = module->functions;
- if (!func) {
- return;
- }
while (func->fname) {
add_next_index_string(return_value, func->fname, 1);