}
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