summaryrefslogtreecommitdiff
path: root/m4/locale-tr.m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2008-01-13 17:46:31 +0100
committerBruno Haible <bruno@clisp.org>2008-01-13 17:46:31 +0100
commit95229319a01f836fadeb0d7dc4645a1abb044dd0 (patch)
treedf45f92d924e686bb8b3aea83ff1639225e33fc0 /m4/locale-tr.m4
parent15834b98efed40c82ee182c367b636e1769cb62a (diff)
downloadgnulib-95229319a01f836fadeb0d7dc4645a1abb044dd0.tar.gz
Avoid unsupported locales on OpenBSD.
Diffstat (limited to 'm4/locale-tr.m4')
-rw-r--r--m4/locale-tr.m417
1 files changed, 12 insertions, 5 deletions
diff --git a/m4/locale-tr.m4 b/m4/locale-tr.m4
index 6bb7847f91..c7065d9bb3 100644
--- a/m4/locale-tr.m4
+++ b/m4/locale-tr.m4
@@ -1,5 +1,5 @@
-# locale-tr.m4 serial 4
-dnl Copyright (C) 2003, 2005-2007 Free Software Foundation, Inc.
+# locale-tr.m4 serial 5
+dnl Copyright (C) 2003, 2005-2008 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -30,11 +30,18 @@ int main () {
program return 1 on BeOS. */
/* Check whether the given locale name is recognized by the system. */
if (setlocale (LC_ALL, "") == NULL) return 1;
- /* Check whether nl_langinfo(CODESET) is nonempty.
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful. */
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situations,
+ some unit tests fail. */
#if HAVE_LANGINFO_CODESET
- if (nl_langinfo (CODESET) [0] == '\0') return 1;
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ return 1;
+ }
#endif
#ifdef __CYGWIN__
/* On Cygwin, avoid locale names without encoding suffix, because the