hashtable==zend_array now
[m6w6/ext-http] / php_http_message_body.c
index f336f85c2fa1676973dab191cc3d9a5990263a5b..1c540c77389dba84e58b1040128ae040579cfec8 100644 (file)
@@ -45,14 +45,13 @@ php_http_message_body_t *php_http_message_body_init(php_http_message_body_t **bo
        body->refcount = 1;
 
        if (stream) {
-               php_stream_auto_cleanup(stream);
                body->res = stream->res;
                ++GC_REFCOUNT(body->res);
        } else {
                stream = php_stream_temp_create(TEMP_STREAM_DEFAULT, 0xffff);
-               php_stream_auto_cleanup(stream);
                body->res = stream->res;
        }
+       php_stream_auto_cleanup(stream);
 
        if (body_ptr) {
                *body_ptr = body;
@@ -340,7 +339,7 @@ static ZEND_RESULT_CODE add_recursive_fields(php_http_message_body_t *body, cons
 
        if (!ZEND_HASH_GET_APPLY_COUNT(fields)) {
                ZEND_HASH_INC_APPLY_COUNT(fields);
-               ZEND_HASH_FOREACH_KEY_VAL(fields, key.h, key.key, val)
+               ZEND_HASH_FOREACH_KEY_VAL_IND(fields, key.h, key.key, val)
                {
                        char *str = format_key(&key, name);
 
@@ -378,7 +377,7 @@ static ZEND_RESULT_CODE add_recursive_files(php_http_message_body_t *body, const
 
                if (!ZEND_HASH_GET_APPLY_COUNT(files)) {
                        ZEND_HASH_INC_APPLY_COUNT(files);
-                       ZEND_HASH_FOREACH_KEY_VAL(files, key.h, key.key, val)
+                       ZEND_HASH_FOREACH_KEY_VAL_IND(files, key.h, key.key, val)
                        {
                                if (Z_TYPE_P(val) == IS_ARRAY || Z_TYPE_P(val) == IS_OBJECT) {
                                        char *str = format_key(&key, name);
@@ -555,7 +554,7 @@ php_http_message_body_object_t *php_http_message_body_object_new_ex(zend_class_e
 {
        php_http_message_body_object_t *o;
 
-       o = ecalloc(1, sizeof(php_http_message_body_object_t) + (ce->default_properties_count - 1) * sizeof(zval));
+       o = ecalloc(1, sizeof(*o) + zend_object_properties_size(ce));
        zend_object_std_init(&o->zo, php_http_message_body_class_entry);
        object_properties_init(&o->zo, ce);