changeset 14339:79ce823766c3

setlocale: Prefer gnulib's override over libintl's override. * lib/locale.in.h (GNULIB_defined_setlocale): New macro. * lib/gettext.h (setlocale): Redefine to rpl_setlocale if GNULIB_defined_setlocale is set.
author Bruno Haible <bruno@clisp.org>
date Sun, 13 Feb 2011 03:39:33 +0100
parents d9460671313e
children 80ac14ef4e0b
files ChangeLog lib/gettext.h lib/locale.in.h
diffstat 3 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-12  Bruno Haible  <bruno@clisp.org>
+
+	setlocale: Prefer gnulib's override over libintl's override.
+	* lib/locale.in.h (GNULIB_defined_setlocale): New macro.
+	* lib/gettext.h (setlocale): Redefine to rpl_setlocale if
+	GNULIB_defined_setlocale is set.
+
 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
 
 	stdlib: support non-GCC __attribute__
--- a/lib/gettext.h
+++ b/lib/gettext.h
@@ -93,6 +93,12 @@
 
 #endif
 
+/* Prefer gnulib's setlocale override over libintl's setlocale override.  */
+#ifdef GNULIB_defined_setlocale
+# undef setlocale
+# define setlocale rpl_setlocale
+#endif
+
 /* A pseudo function call that serves as a marker for the automated
    extraction of messages, but does not call gettext().  The run-time
    translation is done at a different place in the code.
--- a/lib/locale.in.h
+++ b/lib/locale.in.h
@@ -52,6 +52,7 @@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef setlocale
 #   define setlocale rpl_setlocale
+#   define GNULIB_defined_setlocale 1
 #  endif
 _GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
 _GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));