summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/modules')
-rw-r--r--src/http/modules/ngx_http_autoindex_module.c13
-rw-r--r--src/http/modules/ngx_http_charset_filter_module.c8
2 files changed, 11 insertions, 10 deletions
diff --git a/src/http/modules/ngx_http_autoindex_module.c b/src/http/modules/ngx_http_autoindex_module.c
index f57fbc87d..0ff500998 100644
--- a/src/http/modules/ngx_http_autoindex_module.c
+++ b/src/http/modules/ngx_http_autoindex_module.c
@@ -135,7 +135,7 @@ ngx_http_autoindex_handler(ngx_http_request_t *r)
{
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;
@@ -329,7 +329,7 @@ ngx_http_autoindex_handler(ngx_http_request_t *r)
NGX_ESCAPE_HTML);
if (r->utf8) {
- entry->utf_len = ngx_utf_length(entry->name.data, entry->name.len);
+ entry->utf_len = ngx_utf8_length(entry->name.data, entry->name.len);
} else {
entry->utf_len = len;
}
@@ -412,15 +412,16 @@ ngx_http_autoindex_handler(ngx_http_request_t *r)
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_utf8_cpystrn(b->last, entry[i].name.data,
+ utf_len, entry[i].name.len + 1);
last = b->last;
} else {
diff --git a/src/http/modules/ngx_http_charset_filter_module.c b/src/http/modules/ngx_http_charset_filter_module.c
index a5db2d878..8ca859bd2 100644
--- a/src/http/modules/ngx_http_charset_filter_module.c
+++ b/src/http/modules/ngx_http_charset_filter_module.c
@@ -642,7 +642,7 @@ ngx_http_charset_recode_from_utf8(ngx_pool_t *pool, ngx_buf_t *buf,
size = buf->last - src;
saved = src;
- n = ngx_utf_decode(&saved, size);
+ n = ngx_utf8_decode(&saved, size);
if (n == 0xfffffffe) {
/* incomplete UTF-8 symbol */
@@ -710,7 +710,7 @@ ngx_http_charset_recode_from_utf8(ngx_pool_t *pool, ngx_buf_t *buf,
}
saved = ctx->saved;
- n = ngx_utf_decode(&saved, i);
+ n = ngx_utf8_decode(&saved, i);
c = '\0';
@@ -818,7 +818,7 @@ recode:
len = buf->last - src;
- n = ngx_utf_decode(&src, len);
+ n = ngx_utf8_decode(&src, len);
if (n < 0x10000) {
@@ -1270,7 +1270,7 @@ ngx_http_charset_map(ngx_conf_t *cf, ngx_command_t *dummy, void *conf)
p = &table->src2dst[src * NGX_UTF_LEN] + 1;
- n = ngx_utf_decode(&p, i);
+ n = ngx_utf8_decode(&p, i);
if (n > 0xffff) {
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,