diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2009-10-26 15:37:54 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2009-10-26 15:37:54 +0000 |
| commit | 10a04dbf27dec7e0b59049efbbc8223dd5f4a36a (patch) | |
| tree | bd8e67688604779b63f0b4efd86c1faaa2df4347 /src/http/modules/ngx_http_autoindex_module.c | |
| parent | 90abbf2e2358e5a259974b120efc746e1d17fc49 (diff) | |
| download | nginx-10a04dbf27dec7e0b59049efbbc8223dd5f4a36a.tar.gz nginx-10a04dbf27dec7e0b59049efbbc8223dd5f4a36a.tar.bz2 | |
merge r2890, r2891, r2892:
refactor ngx_http_charset_header_filter()
Diffstat (limited to 'src/http/modules/ngx_http_autoindex_module.c')
| -rw-r--r-- | src/http/modules/ngx_http_autoindex_module.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/http/modules/ngx_http_autoindex_module.c b/src/http/modules/ngx_http_autoindex_module.c index 6215da21f..e6c1b1e2d 100644 --- a/src/http/modules/ngx_http_autoindex_module.c +++ b/src/http/modules/ngx_http_autoindex_module.c @@ -145,7 +145,7 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) ngx_int_t rc, size; ngx_str_t path; ngx_dir_t dir; - ngx_uint_t i, level; + ngx_uint_t i, level, utf8; ngx_pool_t *pool; ngx_time_t *tp; ngx_chain_t out; @@ -252,6 +252,16 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) filename = path.data; filename[path.len] = '/'; + if (r->headers_out.charset.len == 5 + && ngx_strncasecmp(r->headers_out.charset.data, (u_char *) "utf-8", 5) + == 0) + { + utf8 = 1; + + } else { + utf8 = 0; + } + for ( ;; ) { ngx_set_errno(0); @@ -335,7 +345,7 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) entry->escape = 2 * ngx_escape_uri(NULL, ngx_de_name(&dir), len, NGX_ESCAPE_HTML); - if (r->utf8) { + if (utf8) { entry->utf_len = ngx_utf8_length(entry->name.data, entry->name.len); } else { entry->utf_len = len; |
