ext/standard API updates
[m6w6/ext-http] / php_http_message_body.c
index 3ecd89536a9290740304a4fbeefb98b2adda2de4..f336f85c2fa1676973dab191cc3d9a5990263a5b 100644 (file)
@@ -261,9 +261,9 @@ void php_http_message_body_add_part(php_http_message_body_t *body, php_http_mess
 
 ZEND_RESULT_CODE php_http_message_body_add_form_field(php_http_message_body_t *body, const char *name, const char *value_str, size_t value_len)
 {
-       zend_string *safe_name;
+       zend_string *safe_name = zend_string_init(name, strlen(name), 0);
 
-       safe_name = php_addslashes(estrdup(name), strlen(name), 1);
+       safe_name = php_addslashes(safe_name, 1);
 
        BOUNDARY_OPEN(body);
        php_http_message_body_appendf(
@@ -283,9 +283,9 @@ ZEND_RESULT_CODE php_http_message_body_add_form_file(php_http_message_body_t *bo
 {
        size_t path_len = strlen(path);
        char *path_dup = estrndup(path, path_len);
-       zend_string *safe_name, *base_name;
+       zend_string *base_name, *safe_name = zend_string_init(name, strlen(name), 0);
 
-       safe_name = php_addslashes(estrdup(name), strlen(name), 1);
+       safe_name = php_addslashes(safe_name, 1);
        base_name = php_basename(path_dup, path_len, NULL, 0);
 
        BOUNDARY_OPEN(body);
@@ -882,6 +882,7 @@ PHP_MINIT_FUNCTION(http_message_body)
        php_http_message_body_class_entry = zend_register_internal_class(&ce);
        php_http_message_body_class_entry->create_object = php_http_message_body_object_new;
        memcpy(&php_http_message_body_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
+       php_http_message_body_object_handlers.offset = XtOffsetOf(php_http_message_body_object_t, zo);
        php_http_message_body_object_handlers.clone_obj = php_http_message_body_object_clone;
        php_http_message_body_object_handlers.free_obj = php_http_message_body_object_free;
        zend_class_implements(php_http_message_body_class_entry, 1, zend_ce_serializable);