|
|
|
@ -2023,10 +2023,18 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, const zend_functio |
|
|
|
} |
|
|
|
fname_len = strlen(ptr->fname); |
|
|
|
lowercase_name = zend_new_interned_string(zend_str_tolower_dup(ptr->fname, fname_len), fname_len + 1, 1 TSRMLS_CC); |
|
|
|
if (zend_hash_add(target_function_table, lowercase_name, fname_len+1, &function, sizeof(zend_function), (void**)®_function) == FAILURE) { |
|
|
|
unload=1; |
|
|
|
str_efree(lowercase_name); |
|
|
|
break; |
|
|
|
if (IS_INTERNED(lowercase_name)) { |
|
|
|
if (zend_hash_quick_add(target_function_table, lowercase_name, fname_len+1, INTERNED_HASH(lowercase_name), &function, sizeof(zend_function), (void**)®_function) == FAILURE) { |
|
|
|
unload=1; |
|
|
|
str_efree(lowercase_name); |
|
|
|
break; |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (zend_hash_add(target_function_table, lowercase_name, fname_len+1, &function, sizeof(zend_function), (void**)®_function) == FAILURE) { |
|
|
|
unload=1; |
|
|
|
str_efree(lowercase_name); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (scope) { |
|
|
|
/* Look for ctor, dtor, clone |
|
|
|
|