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

Igor Sysoev is at rambler-co.ru
Mon May 18 10:05:20 MSD 2009


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

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

%Z

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

На самом деле, он был создан, чтобы печать ставшие стандартными типы C:
off_t, time_t, size_t, pid_t, etc. Когда-то configure подбирала для них %lld
и прочая. Потом я плюнул и сделал ngx_snprintf(), заодно добавив туда
nginx'овских типов. Минус ровно один - при использовании родного sprintf()
icc (не знаю, как другие сейчас) умеет предупреждать о несоответствии типа
параметру.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list