Mercurial > hg > nginx
diff src/http/ngx_http_header_filter.c @ 415:3c56e834be46
nginx-0.0.10-2004-09-05-23:54:02 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 05 Sep 2004 19:54:02 +0000 |
parents | 5659d773cfa8 |
children | b9bd635011de |
line wrap: on
line diff
--- a/src/http/ngx_http_header_filter.c +++ b/src/http/ngx_http_header_filter.c @@ -92,12 +92,13 @@ static ngx_str_t http_codes[] = { static ngx_int_t ngx_http_header_filter(ngx_http_request_t *r) { - u_char *p; - size_t len; - ngx_uint_t status, i; - ngx_buf_t *b; - ngx_chain_t *ln; - ngx_table_elt_t *header; + u_char *p; + size_t len; + ngx_uint_t status, i; + ngx_buf_t *b; + ngx_chain_t *ln; + ngx_list_part_t *part; + ngx_table_elt_t *header; if (r->http_version < NGX_HTTP_VERSION_10) { return NGX_OK; @@ -205,8 +206,26 @@ static ngx_int_t ngx_http_header_filter( len += sizeof("Connection: closed" CRLF) - 1; } + part = &r->headers_out.headers.part; + header = part->elts; + + for (i = 0; /* void */; i++) { + + if (i >= part->nelts) { + if (part->next == NULL) { + break; + } + + part = part->next; + header = part->elts; + i = 0; + } + +#if 0 header = r->headers_out.headers.elts; for (i = 0; i < r->headers_out.headers.nelts; i++) { +#endif + if (header[i].key.len == 0) { continue; } @@ -321,7 +340,25 @@ static ngx_int_t ngx_http_header_filter( sizeof("Connection: close" CRLF) - 1); } + part = &r->headers_out.headers.part; + header = part->elts; + + for (i = 0; /* void */; i++) { + + if (i >= part->nelts) { + if (part->next == NULL) { + break; + } + + part = part->next; + header = part->elts; + i = 0; + } + +#if 0 for (i = 0; i < r->headers_out.headers.nelts; i++) { +#endif + if (header[i].key.len == 0) { continue; }