From 06e3f538af58d857e781f08a64bdb4891681b899 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Sat, 20 Jul 2013 07:03:38 -0700 Subject: [PATCH] localecharset: make locale_charset thread-safe on Mac OS X * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L instead of MB_CUR_MAX. --- ChangeLog | 8 +++++++- lib/localcharset.c | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 09a63b52d..9abfb4cb1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,10 @@ -2013-07-08 Daiki Ueno +2013-07-20 Daiki Ueno + + localecharset: make locale_charset thread-safe on Mac OS X + * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L + instead of MB_CUR_MAX. + +2013-07-20 Daiki Ueno gettext: update to version 0.18.3 * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3. In particular, diff --git a/lib/localcharset.c b/lib/localcharset.c index 6b0153ef2..bfd9a039c 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -65,6 +65,11 @@ # include #endif +/* For MB_CUR_MAX_L */ +#if defined DARWIN7 +# include +#endif + #if ENABLE_RELOCATABLE # include "relocatable.h" #else @@ -545,7 +550,7 @@ locale_charset (void) #ifdef DARWIN7 /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8" (the default codeset) does not work when MB_CUR_MAX is 1. */ - if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1) + if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX_L (uselocale (NULL)) <= 1) codeset = "ASCII"; #endif -- 2.11.0