mirror of
https://github.com/php/php-src.git
synced 2024-12-15 12:54:57 +08:00
MFB: Last set of zend_hash_init() optimizations
This commit is contained in:
parent
6fbd520e93
commit
15e5832c26
@ -2039,7 +2039,7 @@ static void schema_attribute_fixup(sdlCtx *ctx, sdlAttributePtr attr)
|
||||
xmlNodePtr node;
|
||||
|
||||
attr->extraAttributes = emalloc(sizeof(HashTable));
|
||||
zend_hash_init(attr->extraAttributes, 0, NULL, delete_extra_attribute, 0);
|
||||
zend_hash_init(attr->extraAttributes, zend_hash_num_elements((*tmp)->extraAttributes), NULL, delete_extra_attribute, 0);
|
||||
zend_hash_copy(attr->extraAttributes, (*tmp)->extraAttributes, copy_extra_attribute, &node, sizeof(xmlNodePtr));
|
||||
}
|
||||
attr->encode = (*tmp)->encode;
|
||||
@ -2085,7 +2085,7 @@ static void schema_attributegroup_fixup(sdlCtx *ctx, sdlAttributePtr attr, HashT
|
||||
if (newAttr->extraAttributes) {
|
||||
xmlNodePtr node;
|
||||
HashTable *ht = emalloc(sizeof(HashTable));
|
||||
zend_hash_init(ht, 0, NULL, delete_extra_attribute, 0);
|
||||
zend_hash_init(ht, zend_hash_num_elements(newAttr->extraAttributes), NULL, delete_extra_attribute, 0);
|
||||
zend_hash_copy(ht, newAttr->extraAttributes, copy_extra_attribute, &node, sizeof(xmlNodePtr));
|
||||
newAttr->extraAttributes = ht;
|
||||
}
|
||||
|
@ -1366,7 +1366,7 @@ PHP_METHOD(SoapServer, SoapServer)
|
||||
zval *ztmp;
|
||||
|
||||
ALLOC_HASHTABLE(service->class_map);
|
||||
zend_u_hash_init(service->class_map, 0, NULL, ZVAL_PTR_DTOR, 0, UG(unicode));
|
||||
zend_u_hash_init(service->class_map, zend_hash_num_elements((*tmp)->value.ht), NULL, ZVAL_PTR_DTOR, 0, UG(unicode));
|
||||
zend_hash_copy(service->class_map, (*tmp)->value.ht, (copy_ctor_func_t) zval_add_ref, (void *) &ztmp, sizeof(zval *));
|
||||
}
|
||||
|
||||
|
@ -566,7 +566,7 @@ static int php_sock_array_from_fd_set(zval *sock_array, fd_set *fds TSRMLS_DC)
|
||||
if (Z_TYPE_P(sock_array) != IS_ARRAY) return 0;
|
||||
|
||||
ALLOC_HASHTABLE(new_hash);
|
||||
zend_hash_init(new_hash, 0, NULL, ZVAL_PTR_DTOR, 0);
|
||||
zend_hash_init(new_hash, zend_hash_num_elements(Z_ARRVAL_P(sock_array)), NULL, ZVAL_PTR_DTOR, 0);
|
||||
for (zend_hash_internal_pointer_reset(Z_ARRVAL_P(sock_array));
|
||||
zend_hash_get_current_data(Z_ARRVAL_P(sock_array), (void **) &element) == SUCCESS;
|
||||
zend_hash_move_forward(Z_ARRVAL_P(sock_array))) {
|
||||
|
@ -61,7 +61,7 @@ PHPAPI int php_stream_filter_register_factory_volatile(const char *filterpattern
|
||||
php_stream_filter_factory tmpfactory;
|
||||
|
||||
ALLOC_HASHTABLE(FG(stream_filters));
|
||||
zend_hash_init(FG(stream_filters), 0, NULL, NULL, 1);
|
||||
zend_hash_init(FG(stream_filters), zend_hash_num_elements(&stream_filters_hash), NULL, NULL, 1);
|
||||
zend_hash_copy(FG(stream_filters), &stream_filters_hash, NULL, &tmpfactory, sizeof(php_stream_filter_factory));
|
||||
}
|
||||
|
||||
|
@ -2010,7 +2010,7 @@ static void clone_wrapper_hash(TSRMLS_D)
|
||||
php_stream_wrapper *tmp;
|
||||
|
||||
ALLOC_HASHTABLE(FG(stream_wrappers));
|
||||
zend_hash_init(FG(stream_wrappers), 0, NULL, NULL, 1);
|
||||
zend_hash_init(FG(stream_wrappers), zend_hash_num_elements(&url_stream_wrappers_hash), NULL, NULL, 1);
|
||||
zend_hash_copy(FG(stream_wrappers), &url_stream_wrappers_hash, NULL, &tmp, sizeof(tmp));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user