X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_env_response.c;h=0d220d0c281a1e6c193de631f96ccf38967724dd;hb=d926a12aeec96752456eddfbf9a04a002809a0d2;hp=0d47904ed0660690221a860619072584a2c1c053;hpb=a5bf469d59f8b88f00a8497599fd6388165af735;p=m6w6%2Fext-http diff --git a/php_http_env_response.c b/php_http_env_response.c index 0d47904..0d220d0 100644 --- a/php_http_env_response.c +++ b/php_http_env_response.c @@ -10,12 +10,7 @@ +--------------------------------------------------------------------+ */ -#include "php_http.h" - -#include
-#include -#include - +#include "php_http_api.h" static void set_option(zval *options, const char *name_str, size_t name_len, int type, const void *value_ptr, size_t value_len TSRMLS_DC) { @@ -82,7 +77,7 @@ static zval *get_option(zval *options, const char *name_str, size_t name_len TSR PHP_HTTP_API php_http_cache_status_t php_http_env_is_response_cached_by_etag(zval *options, const char *header_str, size_t header_len TSRMLS_DC) { - int ret, free_etag = 0; + int ret = 0, free_etag = 0; char *header, *etag; zval *zetag, *zbody = NULL; @@ -106,8 +101,7 @@ PHP_HTTP_API php_http_cache_status_t php_http_env_is_response_cached_by_etag(zva if (zetag && Z_STRLEN_P(zetag)) { etag = Z_STRVAL_P(zetag); - } else { - etag = php_http_message_body_etag(((php_http_message_body_object_t *) zend_object_store_get_object(zbody TSRMLS_CC))->body); + } else if ((etag = php_http_message_body_etag(((php_http_message_body_object_t *) zend_object_store_get_object(zbody TSRMLS_CC))->body))) { set_option(options, ZEND_STRL("etag"), IS_STRING, etag, strlen(etag) TSRMLS_CC); free_etag = 1; } @@ -120,7 +114,9 @@ PHP_HTTP_API php_http_cache_status_t php_http_env_is_response_cached_by_etag(zva zval_ptr_dtor(&zetag); } - ret = php_http_match(header, etag, PHP_HTTP_MATCH_WORD); + if (etag) { + ret = php_http_match(header, etag, PHP_HTTP_MATCH_WORD); + } if (free_etag) { efree(etag);