Mercurial > hg > nginx
diff src/http/modules/ngx_http_autoindex_module.c @ 2120:2f2052fdd882
fix utf-8 names in autoindex
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 25 Jul 2008 14:29:05 +0000 |
parents | 2a92804f4109 |
children | 8e4b9d2acde8 |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_autoindex_module.c Wed Jul 23 16:30:42 2008 +0000 +++ b/src/http/modules/ngx_http_autoindex_module.c Fri Jul 25 14:29:05 2008 +0000 @@ -135,7 +135,7 @@ { u_char *last, *filename, scale; off_t length; - size_t len, copy, allocated, root; + size_t len, utf_len, allocated, root; ngx_tm_t tm; ngx_err_t err; ngx_buf_t *b; @@ -412,15 +412,16 @@ len = entry[i].utf_len; - if (entry[i].name.len - len) { + if (entry[i].name.len != len) { if (len > NGX_HTTP_AUTOINDEX_NAME_LEN) { - copy = NGX_HTTP_AUTOINDEX_NAME_LEN - 3 + 1; + utf_len = NGX_HTTP_AUTOINDEX_NAME_LEN - 3 + 1; } else { - copy = NGX_HTTP_AUTOINDEX_NAME_LEN + 1; + utf_len = NGX_HTTP_AUTOINDEX_NAME_LEN + 1; } - b->last = ngx_utf_cpystrn(b->last, entry[i].name.data, copy); + b->last = ngx_utf_cpystrn(b->last, entry[i].name.data, + utf_len, entry[i].name.len + 1); last = b->last; } else {