Re: [pgsql-hackers-win32] snprintf causes regression
От | Bruce Momjian |
---|---|
Тема | Re: [pgsql-hackers-win32] snprintf causes regression |
Дата | |
Msg-id | 200503111714.j2BHEQh10837@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [pgsql-hackers-win32] snprintf causes regression (pgsql@mohawksoft.com) |
Ответы |
Re: [pgsql-hackers-win32] snprintf causes regression
|
Список | pgsql-hackers |
pgsql@mohawksoft.com wrote: > > Tom Lane wrote: > >> pgsql@mohawksoft.com writes: > >> >>> Please see my posting about using a macro for snprintf. > >> > >> > Wasn't the issue about odd behavior of the Win32 linker choosing the > >> wrong > >> > vnsprintf? > >> > >> You're right, the point about the macro was to avoid linker weirdness on > >> Windows. We need to do that part in any case. I think Bruce confused > >> that issue with the one about whether our version supported %n$ > >> adequately ... which it doesn't just yet ... > > > > Perhaps I am reading old email in this reply but I thought I should > > clarify: > > > > Once we do: > > > > #define vsnprintf(...) pg_vsnprintf(__VA_ARGS__) > > #define snprintf(...) pg_snprintf(__VA_ARGS__) > > #define printf(...) pg_printf(__VA_ARGS__) > > > I'm not sure that macros can have variable number of arguments on all > supported platforms. I've been burnt by this before. The actual patch is: + #ifdef __GNUC__ + #define vsnprintf(...) pg_vsnprintf(__VA_ARGS__) + #define snprintf(...) pg_snprintf(__VA_ARGS__) + #define printf(...) pg_printf(__VA_ARGS__) + #else + #define vsnprintf pg_vsnprintf + #define snprintf pg_snprintf + #define printf pg_printf + #endif -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-hackers по дате отправления: