X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_message.c;h=9432ae953f7c7a8fd5e2bce46401fd080f207628;hp=0ffdd9e5002572110231e9fd768554a332934af1;hb=d7f91cdeb926694858b07d77e29e10d5617112b1;hpb=1b43287170541e6276f1e1676921125b04a0baf4 diff --git a/php_http_message.c b/php_http_message.c index 0ffdd9e..9432ae9 100644 --- a/php_http_message.c +++ b/php_http_message.c @@ -300,6 +300,14 @@ void php_http_message_update_headers(php_http_message_t *msg) zval_ptr_dtor(&h); } } + } else if ((h = php_http_message_header(msg, ZEND_STRL("Content-Length"), 1))) { + zval *h_cpy = php_http_ztyp(IS_LONG, h); + + zval_ptr_dtor(&h); + if (Z_LVAL_P(h_cpy)) { + zend_hash_del(&msg->hdrs, "Content-Length", sizeof("Content-Length")); + } + zval_ptr_dtor(&h_cpy); } } @@ -764,7 +772,9 @@ STATUS php_http_message_object_set_body(php_http_message_object_t *msg_obj, zval } body_obj = zend_object_store_get_object(zbody TSRMLS_CC); - + if (!body_obj->body) { + body_obj->body = php_http_message_body_init(NULL, NULL TSRMLS_CC); + } if (msg_obj->body) { zend_objects_store_del_ref_by_handle(msg_obj->body->zv.handle TSRMLS_CC); }