X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_message.c;h=ad08d7fc38fe72e2a60a2ef7267f6bf51850f23e;hp=318470e34ffe2f297b562fd1a71d7653e6ec255a;hb=88770c6b3fb365da405b4aede6def9ce88dbca7c;hpb=a07b79b1871054ca17e48b69445b4dc201f24662 diff --git a/php_http_message.c b/php_http_message.c index 318470e..ad08d7f 100644 --- a/php_http_message.c +++ b/php_http_message.c @@ -566,7 +566,7 @@ PHP_HTTP_API STATUS _http_message_send(http_message *message TSRMLS_DC) } */ -PHP_HTTP_API php_http_message_t *php_http_message_copy(php_http_message_t *from, php_http_message_t *to) +PHP_HTTP_API php_http_message_t *php_http_message_copy_ex(php_http_message_t *from, php_http_message_t *to, zend_bool parents) { php_http_message_t *temp, *copy = NULL; php_http_info_t info; @@ -581,7 +581,7 @@ PHP_HTTP_API php_http_message_t *php_http_message_copy(php_http_message_t *from, zend_hash_copy(&temp->hdrs, &from->hdrs, (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *)); php_http_message_body_copy(&from->body, &temp->body, 1); - while (from->parent) { + if (parents) while (from->parent) { info.type = from->parent->type; info.http = from->parent->http; @@ -598,6 +598,11 @@ PHP_HTTP_API php_http_message_t *php_http_message_copy(php_http_message_t *from, return copy; } +PHP_HTTP_API php_http_message_t *php_http_message_copy(php_http_message_t *from, php_http_message_t *to) +{ + return php_http_message_copy_ex(from, to, 1); +} + PHP_HTTP_API void php_http_message_dtor(php_http_message_t *message) { if (message) {