Commit 5273f214 authored by Magnus Hagander's avatar Magnus Hagander

Undefine setlocale() macro on Win32

New versions of libintl redefine setlocale() to a macro
which causes problems when the backend and libintl are
linked against different versions of the runtime, which
is often the case in msvc builds.

Hiroshi Inoue, slightly updated comment by me
parent 56b21b7a
......@@ -176,6 +176,15 @@ extern unsigned char pg_tolower(unsigned char ch);
#ifdef printf
#undef printf
#endif
/*
* Versions of libintl >= 0.18? try to replace setlocale() with a macro
* to their own versions. Remove the macro, if it exists, because it
* ends up calling the wrong version when the backend and libintl use
* different versions of msvcrt.
*/
#if defined(setlocale) && defined(WIN32)
#undef setlocale
#endif
extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args);
extern int
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment