From: Bruno Haible Date: Sun, 13 Jan 2008 16:55:25 +0000 (+0000) Subject: Avoid unsupported locales on OpenBSD. X-Git-Tag: v0.18~473 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32bec416353064a97e412d5a49f43a76911910f2;p=thirdparty%2Fgettext.git Avoid unsupported locales on OpenBSD. --- diff --git a/gettext-tools/m4/locale-ja.m4 b/gettext-tools/m4/locale-ja.m4 index d9a36c7f8..35e1c04fc 100644 --- a/gettext-tools/m4/locale-ja.m4 +++ b/gettext-tools/m4/locale-ja.m4 @@ -1,5 +1,5 @@ -# locale-ja.m4 serial 3 (gettext-0.17) -dnl Copyright (C) 2003, 2005-2007 Free Software Foundation, Inc. +# locale-ja.m4 serial 4 (gettext-0.18) +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. @@ -46,11 +46,18 @@ int main () const char *p; /* 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 fr_FR 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