diff --git "a/gettext-runtime/intl/langprefs.c" "b/gettext-runtime/intl/langprefs.c" index aeb1c4e9..2ac531be 100644 --- "a/gettext-runtime/intl/langprefs.c" +++ "b/gettext-runtime/intl/langprefs.c" @@ -33,7 +33,13 @@ extern void _nl_locale_name_canonicalize (char *name); #endif #if defined _WIN32 || defined __WIN32__ -# define WIN32_NATIVE +# if !defined(WINAPI_FAMILY) +# define WIN32_NATIVE +# else +# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) +# define WIN32_NATIVE +# endif +# endif #endif #ifdef WIN32_NATIVE diff --git "a/gettext-runtime/intl/localcharset.c" "b/gettext-runtime/intl/localcharset.c" index 670b8e6c..035a96bd 100644 --- "a/gettext-runtime/intl/localcharset.c" +++ "b/gettext-runtime/intl/localcharset.c" @@ -36,6 +36,16 @@ # define WINDOWS_NATIVE #endif +#if defined _WIN32 || defined __WIN32__ +# if !defined(WINAPI_FAMILY) +# define HAVE_ACP +# else +# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) +# define HAVE_ACP +# endif +# endif +#endif + #if defined __EMX__ /* Assume EMX program runs on OS/2, even if compiled under DOS. */ # ifndef OS2 @@ -361,7 +371,7 @@ STATIC const char * locale_charset (void) { - const char *codeset; + const char *codeset = NULL; const char *aliases; #if !(defined WINDOWS_NATIVE || defined OS2) @@ -457,7 +467,7 @@ locale_charset (void) # endif -#elif defined WINDOWS_NATIVE +#elif defined WINDOWS_NATIVE && defined HAVE_ACP static char buf[2 + 10 + 1]; diff --git "a/gettext-runtime/intl/localename.c" "b/gettext-runtime/intl/localename.c" index 108dd6f1..ace3aa88 100644 --- "a/gettext-runtime/intl/localename.c" +++ "b/gettext-runtime/intl/localename.c" @@ -54,7 +54,13 @@ #endif #if defined _WIN32 || defined __WIN32__ -# define WINDOWS_NATIVE +# if !defined(WINAPI_FAMILY) +# define WINDOWS_NATIVE +# else +# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) +# define WINDOWS_NATIVE +# endif +# endif #endif #if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */