X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_methods.c;h=c18e5aec630aa7603f5e678ab23296862ed82b81;hp=1e454d83a3477dc884a98a07cb38bb0c48f6bfa2;hb=e47ee304be6758fbbfd238476f8a6bda9090fe12;hpb=1ad1914243fce5fb0416a82258ec25e966f802b7 diff --git a/http_methods.c b/http_methods.c index 1e454d8..c18e5ae 100644 --- a/http_methods.c +++ b/http_methods.c @@ -1133,7 +1133,7 @@ PHP_METHOD(HttpRequest, __destruct) PHP_METHOD(HttpRequest, setOptions) { char *key = NULL; - long idx = 0; + ulong idx = 0; zval *opts, *old_opts, **opt; getObject(http_request_object, obj); @@ -2069,12 +2069,14 @@ PHP_METHOD(HttpRequest, getResponseMessage) getObject(http_request_object, obj); message = GET_PROP(obj, responseMessage); - Z_TYPE_P(return_value) = IS_OBJECT; - return_value->is_ref = 1; - return_value->value.obj = message->value.obj; - zval_add_ref(&return_value); + if (Z_TYPE_P(message) == IS_OBJECT) { + RETVAL_OBJECT(message); + } else { + RETURN_NULL(); + } } } +/* }}} */ /* {{{ proto bool HttpRequest::send() * @@ -2158,8 +2160,8 @@ PHP_METHOD(HttpRequest, send) * } * $pool->send(); * foreach ($urls as $url) { - * printf("%s (%s) is %s\n", - * $url, $req[$url]->getResponseInfo('effective_url'), + * printf("%s (%s) is %s\n", + * $url, $req[$url]->getResponseInfo('effective_url'), * $r->getResponseCode() == 200 ? 'alive' : 'not alive' * ); * } @@ -2257,11 +2259,16 @@ PHP_METHOD(HttpRequestPool, detach) */ PHP_METHOD(HttpRequestPool, send) { + STATUS status; getObject(http_requestpool_object, obj); NO_ARGS; - RETURN_SUCCESS(http_request_pool_send(&obj->pool)); + SET_EH_THROW_HTTP(); + status = http_request_pool_send(&obj->pool); + SET_EH_NORMAL(); + + RETURN_SUCCESS(status); } /* }}} */ @@ -2333,3 +2340,4 @@ PHP_METHOD(HttpRequestPool, socketRead) * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ +