]> Savannah Git Hosting - gnulib.git/commitdiff
locale, duplocale, localename: Fix errors if locale_t does not exist.
authorBruno Haible <bruno@clisp.org>
Fri, 13 Dec 2019 10:28:54 +0000 (11:28 +0100)
committerBruno Haible <bruno@clisp.org>
Fri, 13 Dec 2019 10:28:54 +0000 (11:28 +0100)
Reported by Daniel Richard G. in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.

* lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
macros.
* tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
HAVE_NEWLOCALE.
* tests/test-localename.c: Likewise.
* tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
HAVE_DUPLOCALE.
* tests/test-locale-c++.cc: Likewise.

ChangeLog
lib/locale.in.h
tests/test-duplocale.c
tests/test-locale-c++.cc
tests/test-locale.c
tests/test-localename.c

index e9fb770a6ec3b04c725539bbaf6afb9cc36782a1..3e1b9d53401072aac22f3925ca8489a9cc84fd10 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2019-12-13  Bruno Haible  <bruno@clisp.org>
+
+       locale, duplocale, localename: Fix errors if locale_t does not exist.
+       Reported by Daniel Richard G. in
+       <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
+       * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
+       macros.
+       * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
+       HAVE_NEWLOCALE.
+       * tests/test-localename.c: Likewise.
+       * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
+       HAVE_DUPLOCALE.
+       * tests/test-locale-c++.cc: Likewise.
+
 2019-12-13  Bruno Haible  <bruno@clisp.org>
 
        wcstok: Fix test failure on HP-UX.
index 77b8b3ba91465a24a65f4e76850f7f24bc99355b..c0915a5ac645456a62bce8515ae33dc1cadfb6a8 100644 (file)
@@ -227,6 +227,9 @@ _GL_CXXALIAS_SYS (newlocale, locale_t,
 # if @HAVE_NEWLOCALE@
 _GL_CXXALIASWARN (newlocale);
 # endif
+# ifndef HAVE_WORKING_NEWLOCALE
+#  define HAVE_WORKING_NEWLOCALE 1
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef newlocale
 # if HAVE_RAW_DECL_NEWLOCALE
@@ -251,6 +254,9 @@ _GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
 # if @HAVE_DUPLOCALE@
 _GL_CXXALIASWARN (duplocale);
 # endif
+# ifndef HAVE_WORKING_DUPLOCALE
+#  define HAVE_WORKING_DUPLOCALE 1
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef duplocale
 # if HAVE_RAW_DECL_DUPLOCALE
index 3313c836635565056441d0bfbdb1291a868eb9da..a0f699e0c8626a989fd33383209347798d375173 100644 (file)
@@ -20,7 +20,7 @@
 
 #include <locale.h>
 
-#if HAVE_DUPLOCALE
+#if HAVE_WORKING_DUPLOCALE
 
 #include "signature.h"
 SIGNATURE_CHECK (duplocale, locale_t, (locale_t));
index ae24705d29f74f28cc41cef7708a88fa12df6059..84abe9d0650755cb006e51a11ea8e545c627d53a 100644 (file)
@@ -36,7 +36,7 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::setlocale, char *, (int, const char *));
 SIGNATURE_CHECK (GNULIB_NAMESPACE::newlocale, locale_t, (int, const char *, locale_t));
 #endif
 
-#if GNULIB_TEST_DUPLOCALE && HAVE_DUPLOCALE
+#if GNULIB_TEST_DUPLOCALE && HAVE_WORKING_DUPLOCALE
 SIGNATURE_CHECK (GNULIB_NAMESPACE::duplocale, locale_t, (locale_t));
 #endif
 
index 91deeed370ffb43aef947f0b195199b2fce5117d..80ca9241adaa33a9b9b67694ca994cc6abe81a9e 100644 (file)
@@ -44,7 +44,7 @@ verify (sizeof NULL == sizeof (void *));
 int
 main ()
 {
-#if HAVE_NEWLOCALE
+#if HAVE_WORKING_NEWLOCALE
   /* Check that the locale_t type and the LC_GLOBAL_LOCALE macro are defined.  */
   locale_t b = LC_GLOBAL_LOCALE;
   (void) b;
index 77699d958195f75b1482265dbf9a17238b996afa..5a52748ab29669bed5fc920caaca2328f17aac55 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "macros.h"
 
-#if HAVE_NEWLOCALE && HAVE_WORKING_USELOCALE && !HAVE_FAKE_LOCALES
+#if HAVE_WORKING_NEWLOCALE && HAVE_WORKING_USELOCALE && !HAVE_FAKE_LOCALES
 # define HAVE_GOOD_USELOCALE 1
 #endif