Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: utf8 in ngx_http_request_s
On Tue, Oct 27, 2009 at 09:35:35AM +0200, dimkalinux wrote:
> В nginx 0.7.63 из структуры ngx_http_request_s убрано поле utf8,
> которое используется в fancyindex_module. Соответственно получаем
> ошибки при компиляции:
>
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:
> In function 'make_content_buf':
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:428:
> error: 'ngx_http_request_t' has no member named 'utf8'
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:635:18:
> warning: "/*" within comment
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:305:
> warning: unused variable 'months'
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:297:
> warning: unused variable 'tp'
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:295:
> warning: unused variable 'tm'
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:
> In function 'ngx_http_fancyindex_merge_loc_conf':
> /usr/src/redhat/SOURCES/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c:942:
> warning: unused parameter 'cf'
> make[1]: ***
> [objs/addon/nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.o]
> Error 1
>
> Код, вызывающий ошибку:
> entry->utf_len = (r->utf8) ? ngx_utf8_length(entry->name.data,
> entry->name.len) : len;
>
> Что теперь правильней использовать ngx_utf8_length или len?
Вместо r->utf8 нужно использовать utf8, получаемый так:
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;
}
См. ngx_http_autoindex_modile.c
--
Игорь Сысоев
http://sysoev.ru
|