X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=php_http_message.c;h=7c91ac5551077a7224f1696d51e23adbb72bb4be;hb=94b41df5ff58a07118a24d935371b241e53d2669;hp=6436a1cf6a913ec45faec3b8f7a611af8a87439e;hpb=61c5a47e7530b142df6b67332e60a339998c2492;p=m6w6%2Fext-http diff --git a/php_http_message.c b/php_http_message.c index 6436a1c..7c91ac5 100644 --- a/php_http_message.c +++ b/php_http_message.c @@ -169,7 +169,8 @@ PHP_HTTP_API zval *php_http_message_header(php_http_message_t *msg, char *key_st ZVAL_STRINGL(header_str, PHP_HTTP_BUFFER_VAL(&str), PHP_HTTP_BUFFER_LEN(&str), 0); ret = header_str; } else { - ret = php_http_ztyp(IS_STRING, *header); + Z_ADDREF_PP(header); + ret = *header; } } @@ -186,7 +187,7 @@ PHP_HTTP_API void php_http_message_set_type(php_http_message_t *message, php_htt if (type != message->type) { /* free request info */ - switch (message->type = type) { + switch (message->type) { case PHP_HTTP_REQUEST: STR_FREE(message->http.info.request.method); STR_FREE(message->http.info.request.url); @@ -200,6 +201,7 @@ PHP_HTTP_API void php_http_message_set_type(php_http_message_t *message, php_htt break; } + message->type = type; memset(&message->http, 0, sizeof(message->http)); } } @@ -591,7 +593,7 @@ PHP_HTTP_API php_http_message_t *php_http_message_copy_ex(php_http_message_t *fr temp->parent = php_http_message_init(NULL, 0 TSRMLS_CC); php_http_message_set_info(temp->parent, &info); zend_hash_copy(&temp->parent->hdrs, &from->parent->hdrs, (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *)); - php_http_message_body_copy(&from->body, &temp->body, 1); + php_http_message_body_copy(&from->parent->body, &temp->parent->body, 1); temp = temp->parent; from = from->parent;