nginx-0.8.37
Kirill A. Korinskiy
catap+nginx на catap.ru
Пн Май 17 12:36:53 MSD 2010
At Mon, 17 May 2010 12:00:28 +0400,
Boris Dolgov <boris at dolgov.name> wrote:
>
> 2010/5/17 Igor Sysoev <igor at sysoev.ru>:
> >> +#define ngx_str_set(str, text) \
> >> + (str)->len = sizeof(text) - 1; (str)->data = (u_char *) text
> >> +#define ngx_str_null(str) (str)->len = 0; (str)->data = NULL
> >>
> >>
> >> Не понятно, а чем плох вариант просто сделать
> >>
> >> #define ngx_string(str) ((ngx_str_t) { sizeof(str) - 1, (u_char *) str })
> >>
> >> и писать, соотвественно
> >>
> >> str = ngx_string("ABCD")?
> >
> > Он плох тем, что MSVC8 про него говорит так:
> > error C2059: syntax error : '{'
>
> Получается ошибкопорождающее место при использовании в if'e/цикле:
>
> ngx_str_set(x, "aaa");
> if(a) ngx_str_set(x, "abcd");
>
> Может быть, имеет смысл делать вариант Кирилла для gcc, а для MSVС
> обернуть в do {} while (0)?
>
не надо, совсем не надо так делать.
--
wbr, Kirill
Подробная информация о списке рассылки nginx-ru