-/* $Id: test-wchar.c,v 1.2 2014/08/28 10:38:06 schwarze Exp $ */
+/* $Id: test-wchar.c,v 1.5 2018/08/15 02:15:52 schwarze Exp $ */
/*
* Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
*
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#if defined(__linux__) || defined(__MINT__)
-#define _GNU_SOURCE /* wcwidth() */
-#endif
-
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
if (setlocale(LC_ALL, "") == NULL) {
fputs("setlocale(LC_ALL, \"\") failed\n", stderr);
- return(1);
+ return 1;
}
- if (setlocale(LC_CTYPE, "en_US.UTF-8") == NULL) {
- fputs("setlocale(LC_CTYPE, \"en_US.UTF-8\") failed\n",
- stderr);
- return(1);
+ if (setlocale(LC_CTYPE, UTF8_LOCALE) == NULL) {
+ fprintf(stderr, "setlocale(LC_CTYPE, \"%s\") failed\n",
+ UTF8_LOCALE);
+ return 1;
}
if (sizeof(wchar_t) < 4) {
fprintf(stderr, "wchar_t is only %zu bytes\n",
sizeof(wchar_t));
- return(1);
+ return 1;
}
if ((width = wcwidth(L' ')) != 1) {
fprintf(stderr, "wcwidth(L' ') returned %d\n", width);
- return(1);
+ return 1;
}
dup2(STDERR_FILENO, STDOUT_FILENO);
wc = L'*';
if (putwchar(wc) != (wint_t)wc) {
fputs("bad putwchar return value\n", stderr);
- return(1);
+ return 1;
}
- return(0);
+ return 0;
}