]> git.cameronkatri.com Git - mandoc.git/blobdiff - test-wchar.c
Now that markdown output is tested for almost everything, test all
[mandoc.git] / test-wchar.c
index ad37c5fc85022e87836f11fe29d58b6716770493..32962d9fe665fbfa5bc5913932213a6c16732e42 100644 (file)
@@ -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.4 2016/07/31 09:29:13 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>
@@ -28,32 +32,32 @@ main(void)
 
        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) != wc) {
+       if (putwchar(wc) != (wint_t)wc) {
                fputs("bad putwchar return value\n", stderr);
-               return(1);
+               return 1;
        }
 
-       return(0);
+       return 0;
 }