From: Bruno Haible Date: Thu, 10 Jan 2008 01:36:58 +0000 (+0100) Subject: Fix test failure on OpenBSD 4.0. X-Git-Tag: v0.1~7859 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=2bb843dfd0f710cef829c2da4967c7dd36e3d775;p=gnulib.git Fix test failure on OpenBSD 4.0. --- diff --git a/ChangeLog b/ChangeLog index 60dd97607..bc68f9d7d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-01-09 Bruno Haible + + * tests/test-wcwidth.c: Include and localcharset.h. + (main): Don't perform the tests if setlocale did not install a UTF-8 + locale. Needed on OpenBSD 4.0. + * modules/wcwidth-tests (Depends-on): Add localcharset. + 2008-01-09 Paul Eggert gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally. diff --git a/modules/wcwidth-tests b/modules/wcwidth-tests index 91ae1b5e3..956072f60 100644 --- a/modules/wcwidth-tests +++ b/modules/wcwidth-tests @@ -2,6 +2,7 @@ Files: tests/test-wcwidth.c Depends-on: +localcharset configure.ac: diff --git a/tests/test-wcwidth.c b/tests/test-wcwidth.c index fe1094f02..5b4affe1b 100644 --- a/tests/test-wcwidth.c +++ b/tests/test-wcwidth.c @@ -23,6 +23,9 @@ #include #include #include +#include + +#include "localcharset.h" #define ASSERT(expr) \ do \ @@ -45,7 +48,13 @@ main () ASSERT (wcwidth (wc) == 1); /* Switch to an UTF-8 locale. */ - if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL) + if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL + /* Check whether it's really an UTF-8 locale. + On OpenBSD 4.0, the setlocale call succeeds only for the LC_CTYPE + category and therefore returns "C/fr_FR.UTF-8/C/C/C/C", but the + LC_CTYPE category is effectively set to an ASCII LC_CTYPE category; + in particular, locale_charset() returns "ASCII". */ + && strcmp (locale_charset (), "UTF-8") == 0) { /* Test width of ASCII characters. */ for (wc = 0x20; wc < 0x7F; wc++)