X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fphp_http_message.c;h=b82ec0e79bfc936ddff75163d4419aaf2cdee58c;hb=244c5604d85ba4d4bf5453d02aba1c5e267583d7;hp=d09b0b46f4cd874ccc485b0e00b533521f1acde3;hpb=b63ba83de3d26c61062b72a8d5675225297302db;p=m6w6%2Fext-http diff --git a/src/php_http_message.c b/src/php_http_message.c index d09b0b4..b82ec0e 100644 --- a/src/php_http_message.c +++ b/src/php_http_message.c @@ -688,6 +688,8 @@ static void php_http_message_object_prophandler_set_parent_message(php_http_mess do { \ if (!obj->message) { \ obj->message = php_http_message_init(NULL, 0, NULL); \ + } else if (!obj->body && php_http_message_body_size(obj->message->body)) { \ + php_http_message_object_init_body_object(obj); \ } \ } while(0) @@ -1697,8 +1699,6 @@ static PHP_METHOD(HttpMessage, getParentMessage) RETVAL_OBJECT(&obj->parent->zo, 1); } -ZEND_BEGIN_ARG_INFO_EX(ai_HttpMessage___toString, 0, 0, 0) -ZEND_END_ARG_INFO(); ZEND_BEGIN_ARG_INFO_EX(ai_HttpMessage_toString, 0, 0, 0) ZEND_ARG_INFO(0, include_parent) ZEND_END_ARG_INFO(); @@ -1969,7 +1969,7 @@ static PHP_METHOD(HttpMessage, splitMultipartBody) RETURN_OBJ(&php_http_message_object_new_ex(obj->zo.ce, msg)->zo); } -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_HttpMessage_count, 0, 0, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpMessage_count, 0, 0, IS_LONG, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpMessage, count) { @@ -1984,7 +1984,7 @@ static PHP_METHOD(HttpMessage, count) } } -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_HttpMessage_rewind, 0, 0, IS_VOID, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpMessage_rewind, 0, 0, IS_VOID, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpMessage, rewind) { @@ -1999,7 +1999,7 @@ static PHP_METHOD(HttpMessage, rewind) } } -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_HttpMessage_valid, 0, 0, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpMessage_valid, 0, 0, _IS_BOOL, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpMessage, valid) { @@ -2010,7 +2010,7 @@ static PHP_METHOD(HttpMessage, valid) } } -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_HttpMessage_next, 0, 0, IS_VOID, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpMessage_next, 0, 0, IS_VOID, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpMessage, next) { @@ -2034,7 +2034,7 @@ static PHP_METHOD(HttpMessage, next) } } -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_HttpMessage_key, 0, 0, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpMessage_key, 0, 0, IS_LONG, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpMessage, key) { @@ -2045,7 +2045,7 @@ static PHP_METHOD(HttpMessage, key) } } -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(ai_HttpMessage_current, 0, 0, http\\Message, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(ai_HttpMessage_current, 0, 0, http\\Message, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpMessage, current) { @@ -2058,6 +2058,9 @@ static PHP_METHOD(HttpMessage, current) } } +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_HttpMessage___toString, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO(); + static zend_function_entry php_http_message_methods[] = { PHP_ME(HttpMessage, __construct, ai_HttpMessage___construct, ZEND_ACC_PUBLIC) PHP_ME(HttpMessage, getBody, ai_HttpMessage_getBody, ZEND_ACC_PUBLIC)