diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2009-05-25 15:57:43 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2009-05-25 15:57:43 +0000 |
| commit | d1d8cd587ba5ebbf92e3254ef9d6029195611ad1 (patch) | |
| tree | 1b9f359819d04f55bc364ffa986b3f1e50106ad1 /src/http/modules/ngx_http_autoindex_module.c | |
| parent | e959128b4a0edd9d3eba6983d7d507cb058b619d (diff) | |
| download | nginx-d1d8cd587ba5ebbf92e3254ef9d6029195611ad1.tar.gz nginx-d1d8cd587ba5ebbf92e3254ef9d6029195611ad1.tar.bz2 | |
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; |
