projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
merged response-streams branch
[m6w6/ext-http]
/
php_http_message_body.c
diff --git
a/php_http_message_body.c
b/php_http_message_body.c
index 40a168876873d03cd312715b0d8c93e7a4b9755c..45fe95e9ef9d9e44e8a158a0f1b03564e2a2c7d3 100644
(file)
--- a/
php_http_message_body.c
+++ b/
php_http_message_body.c
@@
-286,6
+286,7
@@
PHP_HTTP_API STATUS php_http_message_body_add_form_file(php_http_message_body_t
efree(safe_name);
efree(path_dup);
efree(safe_name);
efree(path_dup);
+ efree(bname);
return SUCCESS;
}
return SUCCESS;
}
@@
-617,11
+618,7
@@
zend_object_value php_http_message_body_object_new_ex(zend_class_entry *ce, php_
o = ecalloc(1, sizeof(php_http_message_body_object_t));
zend_object_std_init((zend_object *) o, php_http_message_body_class_entry TSRMLS_CC);
o = ecalloc(1, sizeof(php_http_message_body_object_t));
zend_object_std_init((zend_object *) o, php_http_message_body_class_entry TSRMLS_CC);
-#if PHP_VERSION_ID < 50339
- zend_hash_copy(((zend_object *) o)->properties, &(ce->default_properties), (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval*));
-#else
object_properties_init((zend_object *) o, ce);
object_properties_init((zend_object *) o, ce);
-#endif
if (ptr) {
*ptr = o;
if (ptr) {
*ptr = o;
@@
-653,8
+650,9
@@
void php_http_message_body_object_free(void *object TSRMLS_DC)
{
php_http_message_body_object_t *obj = object;
{
php_http_message_body_object_t *obj = object;
- php_http_message_body_free(&obj->body);
-
+ if (!obj->shared) {
+ php_http_message_body_free(&obj->body);
+ }
zend_object_std_dtor((zend_object *) obj TSRMLS_CC);
efree(obj);
}
zend_object_std_dtor((zend_object *) obj TSRMLS_CC);
efree(obj);
}
@@
-671,7
+669,7
@@
PHP_METHOD(HttpMessageBody, __construct)
php_stream_from_zval(stream, &zstream);
if (stream) {
php_stream_from_zval(stream, &zstream);
if (stream) {
- if (obj->body) {
+ if (obj->body
&& !obj->shared
) {
php_http_message_body_dtor(obj->body);
}
obj->body = php_http_message_body_init(obj->body, stream TSRMLS_CC);
php_http_message_body_dtor(obj->body);
}
obj->body = php_http_message_body_init(obj->body, stream TSRMLS_CC);
@@
-755,6
+753,7
@@
PHP_METHOD(HttpMessageBody, getResource)
if (SUCCESS == zend_parse_parameters_none()) {
php_http_message_body_object_t *obj = zend_object_store_get_object(getThis() TSRMLS_CC);
if (SUCCESS == zend_parse_parameters_none()) {
php_http_message_body_object_t *obj = zend_object_store_get_object(getThis() TSRMLS_CC);
+ zend_list_addref(obj->body->stream_id);
RETVAL_RESOURCE(obj->body->stream_id);
}
}
RETVAL_RESOURCE(obj->body->stream_id);
}
}