]> git.cameronkatri.com Git - mandoc.git/blobdiff - test-wchar.c
do not crash when a manpath directory contains a symbolic link
[mandoc.git] / test-wchar.c
index 2cbb49ddafd031fd4e3219593c176069dda725c5..7095d8ba8682ddebb394a723cebb8efd8b79624a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $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>
@@ -32,32 +28,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) != (wint_t)wc) {
                fputs("bad putwchar return value\n", stderr);
-               return(1);
+               return 1;
        }
 
-       return(0);
+       return 0;
 }