Re: Должны ли строки в ngx_str_t->data терминироваться нулевым байтом?
Maxim Dounin
mdounin на mdounin.ru
Вс Ноя 21 00:28:24 MSK 2010
Hello!
On Sat, Nov 20, 2010 at 10:50:38PM +0300, Валентин Бартенев wrote:
> Здравствуйте. В первую очередь, хотелось бы услышать официально мнение Игоря
> Сысоева на эту тему.
>
> В частности, столкнулся с тем, что значения http заголовков в headers_out от
> большинства модулей-хэндлеров содержать терминирующий ноль, вот mod_lua иногда
> возвращает значения без него.
>
> Это баг конкретно в mod_lua или же, чтобы передать значение заголовка в
> функцию принимающую обычную си-строку, мне нужно обязательно заведомо
> позаботиться о добавлении \0 в модуле-фильтре?
>
> А также в общем случае, какая практика в nginx будет наиболее правильной?
> Всегда ожидать, что в структуре ngx_str_t содержится обычная си-строка или
> лучше на это и не надеяться?
Присутствие 0 гарантируется только в некоторых специфических
случаях (e.g. при парсинге конфига переданные в обработчик
директивы аргументы всегда терминированы 0'м). В общем случае 0'я
нет.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru