X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_functions.c;h=bf376ac479b46b3a7d54cdf267b1801a9cd47581;hb=a0098fdbfef71be0fab417b5bc624dc884bd4549;hp=d9cefaf87b9cf2e61550d625bfb007d12c414079;hpb=4ef2f9e39c8d7c9dc605fb062a50d8a73b52c02a;p=m6w6%2Fext-http diff --git a/http_functions.c b/http_functions.c index d9cefaf..bf376ac 100644 --- a/http_functions.c +++ b/http_functions.c @@ -1028,6 +1028,7 @@ PHP_FUNCTION(http_get) if (SUCCESS == http_get(URL, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) { RETURN_PHPSTR_VAL(&response); } else { + phpstr_dtor(&response); RETURN_FALSE; } } @@ -1061,6 +1062,7 @@ PHP_FUNCTION(http_head) if (SUCCESS == http_head(URL, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) { RETURN_PHPSTR_VAL(&response); } else { + phpstr_dtor(&response); RETURN_FALSE; } } @@ -1100,6 +1102,7 @@ PHP_FUNCTION(http_post_data) if (SUCCESS == http_post(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) { RETVAL_PHPSTR_VAL(&response); } else { + phpstr_dtor(&response); RETVAL_FALSE; } } @@ -1139,6 +1142,7 @@ PHP_FUNCTION(http_post_fields) if (SUCCESS == http_post(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) { RETVAL_PHPSTR_VAL(&response); } else { + phpstr_dtor(&response); RETVAL_FALSE; } http_request_body_dtor(&body); @@ -1189,6 +1193,7 @@ PHP_FUNCTION(http_put_file) if (SUCCESS == http_put(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) { RETVAL_PHPSTR_VAL(&response); } else { + phpstr_dtor(&response); RETVAL_FALSE; } http_request_body_dtor(&body); @@ -1237,6 +1242,7 @@ PHP_FUNCTION(http_put_stream) if (SUCCESS == http_put(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) { RETURN_PHPSTR_VAL(&response); } else { + phpstr_dtor(&response); RETURN_NULL(); } } @@ -1599,17 +1605,19 @@ PHP_FUNCTION(http_uncompress) * all supported featuers that depend on external libraries. * * Available features to probe for are: - * - HTTP_SUPPORT: always set - * - HTTP_SUPPORT_REQUESTS: whether ext/http was linked against libcurl, - * and HTTP requests can be issued - * - HTTP_SUPPORT_SSLREQUESTS: whether libcurl was linked against openssl, - * and SSL requests can be issued - * - HTTP_SUPPORT_ENCOGINS: whether ext/http was linked against zlib, - * and compressed HTTP responses can be decoded - * - HTTP_SUPPORTS_MHASHETAGS: whether ext/http was linked against libhmash, - * and ETags can be generated with the available mhash algorithms - * - HTTP_SUPPORTS_MAGICMIME: whether ext/http was linked against libmagic, - * and the HttpResponse::guessContentType() method is usable + * * * Returns int, whether requested feature is supported, or a bitmask with * all supported features.