summaryrefslogtreecommitdiff
path: root/src/libs/gnulib/lib/localcharset.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/gnulib/lib/localcharset.c')
-rw-r--r--src/libs/gnulib/lib/localcharset.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libs/gnulib/lib/localcharset.c b/src/libs/gnulib/lib/localcharset.c
index 113205de..8d16c87a 100644
--- a/src/libs/gnulib/lib/localcharset.c
+++ b/src/libs/gnulib/lib/localcharset.c
@@ -29,7 +29,7 @@
#include <stdlib.h>
#if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET
-# define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */
+# define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */
#endif
#if defined _WIN32 || defined __WIN32__
@@ -542,5 +542,12 @@ locale_charset (void)
if (codeset[0] == '\0')
codeset = "ASCII";
+#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)
+ codeset = "ASCII";
+#endif
+
return codeset;
}