From 13a468c1e025f5fbb958d0b9bb9e8f3ae1e680ed Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Thu, 28 Aug 2014 10:38:06 +0000 Subject: On Linux, wcwidth() needs _XOPEN_SOURCE, or just _GNU_SOURCE for simplicity. Besides, signedness of wchar_t and wint_t may differ, it i only guaranteed that each wchar_t can be represented as a wint_t. A problem report by Daniel Levai reminded me to fix this. --- configure | 2 +- test-wchar.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/configure b/configure index baa05ad4..0fb841cf 100755 --- a/configure +++ b/configure @@ -253,7 +253,7 @@ cat << __HEREDOC__ #define MANDOC_CONFIG_H #if defined(__linux__) || defined(__MINT__) -#define _GNU_SOURCE /* getsubopt(), strcasestr(), strptime() */ +#define _GNU_SOURCE /* See test-*.c what needs this. */ #endif __HEREDOC__ diff --git a/test-wchar.c b/test-wchar.c index ad37c5fc..2cbb49dd 100644 --- a/test-wchar.c +++ b/test-wchar.c @@ -1,4 +1,4 @@ -/* $Id: test-wchar.c,v 1.1 2014/08/16 19:00:01 schwarze Exp $ */ +/* $Id: test-wchar.c,v 1.2 2014/08/28 10:38:06 schwarze Exp $ */ /* * Copyright (c) 2014 Ingo Schwarze * @@ -15,6 +15,10 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#if defined(__linux__) || defined(__MINT__) +#define _GNU_SOURCE /* wcwidth() */ +#endif + #include #include #include @@ -50,7 +54,7 @@ main(void) dup2(STDERR_FILENO, STDOUT_FILENO); wc = L'*'; - if (putwchar(wc) != wc) { + if (putwchar(wc) != (wint_t)wc) { fputs("bad putwchar return value\n", stderr); return(1); } -- cgit v1.2.3-56-ge451