X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_headers_api.c;h=4e65b1d25f861ce1f0170f1b628d5b9bd53101e8;hb=fe0761a31f82ea9807f9dcdc4bce3e9de9c766b4;hp=7bbe8e921d4bef6d6b34b1e99239ca658e26f0a6;hpb=833996197be90565b5bf497aa28226ddf10fb575;p=m6w6%2Fext-http diff --git a/http_headers_api.c b/http_headers_api.c index 7bbe8e9..4e65b1d 100644 --- a/http_headers_api.c +++ b/http_headers_api.c @@ -466,13 +466,14 @@ PHP_HTTP_API zend_bool _http_match_request_header_ex(const char *header, const c char *name; uint name_len = strlen(header); zend_bool result = 0; - zval **data; + zval **data, *zvalue; http_get_request_headers(NULL); name = pretty_key(estrndup(header, name_len), name_len, 1, 1); if (SUCCESS == zend_hash_find(HTTP_G->request.headers, name, name_len+1, (void *) &data)) { - convert_to_string_ex(data); - result = (match_case ? strcmp(Z_STRVAL_PP(data), value) : strcasecmp(Z_STRVAL_PP(data), value)) ? 0 : 1; + zvalue = zval_copy(IS_STRING, *data); + result = (match_case ? strcmp(Z_STRVAL_P(zvalue), value) : strcasecmp(Z_STRVAL_P(zvalue), value)) ? 0 : 1; + zval_free(&zvalue); } efree(name);