summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-12-27 19:07:33 +0000
committerZeev Suraski <zeev@php.net>1999-12-27 19:07:33 +0000
commitb7a5b3c309ad64ddf9d60cfd3ca21d9f25315d87 (patch)
treec251467f12cd03303f2a1a0f7b3694c7a666f08e /Zend/zend_API.c
parent27daca31f376a323462aeff76bc1b55bab7d8841 (diff)
downloadphp-git-b7a5b3c309ad64ddf9d60cfd3ca21d9f25315d87.tar.gz
- Generalize the fast cache mechanism
- Add the HashTable struct to the fast cache mechanism
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 9f8d4bba81..0224154868 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -188,7 +188,8 @@ ZEND_API void wrong_param_count()
ZEND_API inline int array_init(zval *arg)
{
- arg->value.ht = (HashTable *) emalloc(sizeof(HashTable));
+ ALLOC_HASHTABLE(arg->value.ht);
+
if (!arg->value.ht || zend_hash_init(arg->value.ht, 0, NULL, ZVAL_PTR_DTOR, 0)) {
zend_error(E_CORE_ERROR, "Cannot allocate memory for array");
return FAILURE;
@@ -206,7 +207,8 @@ ZEND_API inline int object_init_ex(zval *arg, zend_class_entry *class_type)
zend_hash_apply(&class_type->default_properties, (int (*)(void *)) zval_update_constant);
class_type->constants_updated = 1;
}
- arg->value.obj.properties = (HashTable *) emalloc(sizeof(HashTable));
+
+ ALLOC_HASHTABLE(arg->value.obj.properties);
zend_hash_init(arg->value.obj.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
zend_hash_copy(arg->value.obj.properties, &class_type->default_properties, (void (*)(void *)) zval_add_ref, (void *) &tmp, sizeof(zval *));
arg->type = IS_OBJECT;