stringify MAKE_SQLSTATE()
От | Teodor Sigaev |
---|---|
Тема | stringify MAKE_SQLSTATE() |
Дата | |
Msg-id | 55AFA034.6040601@sigaev.ru обсуждение исходный текст |
Ответы |
Re: stringify MAKE_SQLSTATE()
|
Список | pgsql-hackers |
Hi! Following discussion at https://commitfest.postgresql.org/5/190/ patch, I found (at seems to me) a way to stringify MAKE_SQLSTATE(), the idea is to use char array as string: #include <stdio.h> #define MAKE_SQLSTATE(ch1,ch2,ch3,ch4,ch5) \ ((char[]){(char)(ch1),(char)(ch2),(char)(ch3),(char)(ch4),(char)(ch5),(char)'\0'}) #define ERRCODE_WARNING_DEPRECATED_FEATURE MAKE_SQLSTATE('0','1','P','0','1') int main(int argn, char* argv[]) { char *x = ERRCODE_WARNING_DEPRECATED_FEATURE; printf("%s\n", x); return 0; } That works for clang ang gcc48 with flags -Wall -Wextra -ansi (or -std=c90) without warnings, but doesn't work with -pedantic. Is that enough to to work with other compilers? -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/
В списке pgsql-hackers по дате отправления: