Mercurial > hg > nginx-vendor-1-0
diff src/http/ngx_http_variables.c @ 216:fa32d59d9a15 NGINX_0_3_55
nginx 0.3.55
*) Feature: the "stub" parameter in the "include" SSI command.
*) Feature: the "block" SSI command.
*) Feature: the unicode2nginx script was added to contrib.
*) Bugfix: if a "root" was specified by variable only, then the root
was relative to a server prefix.
*) Bugfix: if the request contained "//" or "/./" and escaped symbols
after them, then the proxied request was sent unescaped.
*) Bugfix: the $r->headers_in("Cookie") of the ngx_http_perl_module now
returns all "Cookie" header lines.
*) Bugfix: a segmentation fault occurred if
"client_body_in_file_only on" was used and nginx switched to a next
upstream.
*) Bugfix: on some condition while reconfiguration character codes
inside the "charset_map" may be treated invalid; bug appeared in
0.3.50.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 28 Jul 2006 00:00:00 +0400 |
parents | 3866d57d9cfd |
children | 559bc7ec214e |
line wrap: on
line diff
--- a/src/http/ngx_http_variables.c +++ b/src/http/ngx_http_variables.c @@ -523,15 +523,17 @@ static ngx_int_t ngx_http_variable_headers(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data) { - size_t len; + ssize_t len; u_char *p; - ngx_uint_t i; + ngx_uint_t i, n; ngx_array_t *a; ngx_table_elt_t **h; a = (ngx_array_t *) ((char *) r + data); - if (a->nelts == 0) { + n = a->nelts; + + if (n == 0) { v->not_found = 1; return NGX_OK; } @@ -542,16 +544,16 @@ ngx_http_variable_headers(ngx_http_reque h = a->elts; - if (a->nelts == 1) { + if (n == 1) { v->len = (*h)->value.len; v->data = (*h)->value.data; return NGX_OK; } - len = (size_t) - (ssize_t) (sizeof("; ") - 1); + len = - (ssize_t) (sizeof("; ") - 1); - for (i = 0; i < a->nelts; i++) { + for (i = 0; i < n; i++) { len += h[i]->value.len + sizeof("; ") - 1; } @@ -566,7 +568,7 @@ ngx_http_variable_headers(ngx_http_reque for (i = 0; /* void */ ; i++) { p = ngx_copy(p, h[i]->value.data, h[i]->value.len); - if (i == a->nelts - 1) { + if (i == n - 1) { break; }