X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_message_object.c;h=6e2fc27239550b4602526adc2882d0ca60b86e98;hb=b3fac83fc5b626daf078fc16739325b3accd65d5;hp=4cb201a2e6f21093403b525301c5d36fbc675a2e;hpb=efd602160cd419f39504f5f58df0d2890a607206;p=m6w6%2Fext-http diff --git a/http_message_object.c b/http_message_object.c index 4cb201a..6e2fc27 100644 --- a/http_message_object.c +++ b/http_message_object.c @@ -278,8 +278,8 @@ void _http_message_object_reverse(zval *this_ptr, zval *return_value TSRMLS_DC) void _http_message_object_prepend_ex(zval *this_ptr, zval *prepend, zend_bool top TSRMLS_DC) { zval m; - http_message *save_parent_msg; - zend_object_value save_parent_obj; + http_message *save_parent_msg = NULL; + zend_object_value save_parent_obj = {0, NULL}; getObject(http_message_object, obj); getObjectEx(http_message_object, prepend_obj, prepend); @@ -1127,20 +1127,22 @@ PHP_METHOD(HttpMessage, setHttpVersion) * Get parent Message. * * Returns the parent HttpMessage on success, or NULL if there's none. + * + * Throws HttpMessageException. */ PHP_METHOD(HttpMessage, getParentMessage) { - NO_ARGS; - - IF_RETVAL_USED { + SET_EH_THROW_HTTP(); + NO_ARGS { getObject(http_message_object, obj); if (obj->message->parent) { RETVAL_OBJVAL(obj->parent, 1); } else { - RETVAL_NULL(); + http_error(HE_WARNING, HTTP_E_RUNTIME, "HttpMessage does not have a parent message"); } } + SET_EH_NORMAL(); } /* }}} */