diff lib/locale.in.h @ 14330:960b09d2f33f

New module 'setlocale'. * lib/locale.in.h (setlocale): New declaration. * lib/setlocale.c: New file, based on gettext/gettext-runtime/intl/setlocale.c. * m4/setlocale.m4: New file. * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared. (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE. * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE, REPLACE_SETLOCALE. * modules/setlocale: New file. * tests/test-locale-c++.cc: Test the declaration of setlocale. * doc/posix-functions/setlocale.texi: Mention the new module.
author Bruno Haible <bruno@clisp.org>
date Sat, 12 Feb 2011 16:45:13 +0100
parents 97fc9a21a8fb
children 79ce823766c3
line wrap: on
line diff
--- a/lib/locale.in.h
+++ b/lib/locale.in.h
@@ -47,6 +47,26 @@
 # define LC_MESSAGES 1729
 #endif
 
+#if @GNULIB_SETLOCALE@
+# if @REPLACE_SETLOCALE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setlocale
+#   define setlocale rpl_setlocale
+#  endif
+_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
+_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
+# else
+_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
+# endif
+_GL_CXXALIASWARN (setlocale);
+#elif defined GNULIB_POSIXCHECK
+# undef setlocale
+# if HAVE_RAW_DECL_SETLOCALE
+_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
+                 "use gnulib module setlocale for portability");
+# endif
+#endif
+
 #if @GNULIB_DUPLOCALE@
 # if @REPLACE_DUPLOCALE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)