From 91c98198094e89bd2a0d0648b60dd2c361d3054b Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Fri, 14 Oct 2005 10:51:57 +0000 Subject: [PATCH] - don't destruct the zval right after construction in http_message_tostruct_recursive() - add test --- http_message_api.c | 1 - tests/parse_message_004.phpt | 115 +++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 tests/parse_message_004.phpt diff --git a/http_message_api.c b/http_message_api.c index dd597fc..d0c8f48 100644 --- a/http_message_api.c +++ b/http_message_api.c @@ -400,7 +400,6 @@ PHP_HTTP_API void _http_message_tostruct_recursive(http_message *msg, zval *obj } add_assoc_zval(&strct, "parentMessage", parent); http_message_tostruct_recursive(msg->parent, parent); - zval_ptr_dtor(&parent); } else { add_assoc_null(&strct, "parentMessage"); } diff --git a/tests/parse_message_004.phpt b/tests/parse_message_004.phpt new file mode 100644 index 0000000..a684e84 --- /dev/null +++ b/tests/parse_message_004.phpt @@ -0,0 +1,115 @@ +--TEST-- +http_parse_message() recursive +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +%sTEST +object(stdClass)#1 (7) { + ["type"]=> + int(2) + ["httpVersion"]=> + float(1.1) + ["responseCode"]=> + int(200) + ["responseStatus"]=> + string(2) "Ok" + ["headers"]=> + array(2) { + ["Server"]=> + string(9) "Funky/1.0" + ["Content-Length"]=> + string(2) "10" + } + ["body"]=> + string(10) "1234567890" + ["parentMessage"]=> + object(stdClass)#2 (7) { + ["type"]=> + int(1) + ["httpVersion"]=> + float(1.1) + ["requestMethod"]=> + string(3) "GET" + ["requestUri"]=> + string(1) "/" + ["headers"]=> + array(2) { + ["Host"]=> + string(15) "www.example.com" + ["Accept"]=> + string(3) "*/*" + } + ["body"]=> + string(0) "" + ["parentMessage"]=> + object(stdClass)#3 (7) { + ["type"]=> + int(2) + ["httpVersion"]=> + float(1.1) + ["responseCode"]=> + int(200) + ["responseStatus"]=> + string(2) "Ok" + ["headers"]=> + array(2) { + ["Server"]=> + string(9) "Funky/1.0" + ["Content-Length"]=> + string(2) "10" + } + ["body"]=> + string(0) "" + ["parentMessage"]=> + object(stdClass)#4 (7) { + ["type"]=> + int(1) + ["httpVersion"]=> + float(1.1) + ["requestMethod"]=> + string(4) "HEAD" + ["requestUri"]=> + string(1) "/" + ["headers"]=> + array(2) { + ["Host"]=> + string(15) "www.example.com" + ["Accept"]=> + string(3) "*/*" + } + ["body"]=> + string(0) "" + ["parentMessage"]=> + NULL + } + } + } +} +Done -- 2.30.2