From d8715cdf90538fa8abd3e2c23ed2efd23c4253c1 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 17 Nov 2012 20:51:06 +0200 Subject: Fix bug #12878 with compilation failure with Visual C++ 11.0. src/w32select.c: Include w32common.h before w32term.h, so that windows.h gets included before w32term.h uses some of its features, see below. src/w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: New typedefs. (EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: New prototypes. (EnumSystemLocales) [_MSC_VER]: Define if undefined. --- src/w32term.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/w32term.h') diff --git a/src/w32term.h b/src/w32term.h index af5b37a1171..6e30d374c82 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -752,6 +752,21 @@ extern int w32_system_caret_height; extern int w32_system_caret_x; extern int w32_system_caret_y; +#ifdef _MSC_VER +#ifndef EnumSystemLocales +/* MSVC headers define these only for _WIN32_WINNT >= 0x0500. */ +typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR); +BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD); +BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD) +#ifdef UNICODE +#define EnumSystemLocales EnumSystemLocalesW +#else +#define EnumSystemLocales EnumSystemLocalesA +#endif +#endif +#endif + #if EMACSDEBUG extern const char* w32_name_of_message (UINT msg); -- cgit v1.2.1