ngx_snprintf не ставит '\0' в конце строки

Maxim Dounin mdounin at mdounin.ru
Mon May 18 03:19:40 MSD 2009


Hello!

On Mon, May 18, 2009 at 02:33:59AM +0400, Peter Leonov wrote:

> Здравствуйте.
>
> Понимаю так, что вызывающая ngx_snprintf() строна сама должна 
> позаботиться о терминаторе в случае, когда он нужен. Верно понимаю?

Нет.  Если нужен '\0' - надо в явном виде его попросить.  Это 
делается через %Z.

> А в общем, функции ngx_*printf() были созданы для того, чтобы было легко 
> печатать встроенные в энжи типы данных? Или они служат достижению других 
> целей?

Да.  Плюс они не занимаются печатью '\0' там где это не надо, и не 
делают abort() при нехватке памяти (точнее - вообще не пытаются 
выделять память).

Maxim Dounin





More information about the nginx-ru mailing list