Mercurial > hg > nginx-quic
comparison src/http/modules/ngx_http_autoindex_module.c @ 3235:042124063e3d stable-0.7
merge r2890, r2891, r2892:
refactor ngx_http_charset_header_filter()
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 26 Oct 2009 15:37:54 +0000 |
parents | 6a62bed048cd |
children | c7d57b539248 |
comparison
equal
deleted
inserted
replaced
3234:2be2a0ac25c5 | 3235:042124063e3d |
---|---|
143 ngx_err_t err; | 143 ngx_err_t err; |
144 ngx_buf_t *b; | 144 ngx_buf_t *b; |
145 ngx_int_t rc, size; | 145 ngx_int_t rc, size; |
146 ngx_str_t path; | 146 ngx_str_t path; |
147 ngx_dir_t dir; | 147 ngx_dir_t dir; |
148 ngx_uint_t i, level; | 148 ngx_uint_t i, level, utf8; |
149 ngx_pool_t *pool; | 149 ngx_pool_t *pool; |
150 ngx_time_t *tp; | 150 ngx_time_t *tp; |
151 ngx_chain_t out; | 151 ngx_chain_t out; |
152 ngx_array_t entries; | 152 ngx_array_t entries; |
153 ngx_http_autoindex_entry_t *entry; | 153 ngx_http_autoindex_entry_t *entry; |
249 return rc; | 249 return rc; |
250 } | 250 } |
251 | 251 |
252 filename = path.data; | 252 filename = path.data; |
253 filename[path.len] = '/'; | 253 filename[path.len] = '/'; |
254 | |
255 if (r->headers_out.charset.len == 5 | |
256 && ngx_strncasecmp(r->headers_out.charset.data, (u_char *) "utf-8", 5) | |
257 == 0) | |
258 { | |
259 utf8 = 1; | |
260 | |
261 } else { | |
262 utf8 = 0; | |
263 } | |
254 | 264 |
255 for ( ;; ) { | 265 for ( ;; ) { |
256 ngx_set_errno(0); | 266 ngx_set_errno(0); |
257 | 267 |
258 if (ngx_read_dir(&dir) == NGX_ERROR) { | 268 if (ngx_read_dir(&dir) == NGX_ERROR) { |
333 ngx_cpystrn(entry->name.data, ngx_de_name(&dir), len + 1); | 343 ngx_cpystrn(entry->name.data, ngx_de_name(&dir), len + 1); |
334 | 344 |
335 entry->escape = 2 * ngx_escape_uri(NULL, ngx_de_name(&dir), len, | 345 entry->escape = 2 * ngx_escape_uri(NULL, ngx_de_name(&dir), len, |
336 NGX_ESCAPE_HTML); | 346 NGX_ESCAPE_HTML); |
337 | 347 |
338 if (r->utf8) { | 348 if (utf8) { |
339 entry->utf_len = ngx_utf8_length(entry->name.data, entry->name.len); | 349 entry->utf_len = ngx_utf8_length(entry->name.data, entry->name.len); |
340 } else { | 350 } else { |
341 entry->utf_len = len; | 351 entry->utf_len = len; |
342 } | 352 } |
343 | 353 |