1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-08 17:22:05 +03:00

Fix test failure on OpenBSD 4.0.

This commit is contained in:
Bruno Haible
2008-01-10 02:36:58 +01:00
parent 2c18ba6d7d
commit 2bb843dfd0
3 changed files with 18 additions and 1 deletions

View File

@@ -1,3 +1,10 @@
2008-01-09 Bruno Haible <bruno@clisp.org>
* tests/test-wcwidth.c: Include <string.h> 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 <eggert@cs.ucla.edu>
gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.

View File

@@ -2,6 +2,7 @@ Files:
tests/test-wcwidth.c
Depends-on:
localcharset
configure.ac:

View File

@@ -23,6 +23,9 @@
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#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++)