X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1ae36e8376deba753ab0022ad844cba826d04568..58eaf2c22189e6cd823eb6eb3afe2e52a2599482:/test/getcwidth.c?ds=sidebyside diff --git a/test/getcwidth.c b/test/getcwidth.c index a145b2d9..2c4755b1 100644 --- a/test/getcwidth.c +++ b/test/getcwidth.c @@ -30,13 +30,18 @@ int main(int argc, char *argv[]) { #ifndef MULTIBYTE_SUPPORT + (void) argc; + (void) argv; fprintf(stderr, "Nmh was not configured with multibyte support\n"); exit(1); #else /* MULTIBYTE_SUPPORT */ wchar_t c; int i; - setlocale(LC_ALL, ""); + if (! setlocale(LC_ALL, "")) { + fprintf(stderr, "setlocale failed, check your LC_ALL, " + "LC_CTYPE, and LANG environment variables\n"); + } if (argc < 2) usage(argv[0]); @@ -145,19 +150,19 @@ dumpwidth(void) wchar_t wc, low; int width, lastwidth; - for (wc = low = 1, lastwidth = wcwidth(wc); wc <= 0xffff; wc++) { - width = wcwidth(wc); + for (wc = 0, low = 1, lastwidth = wcwidth(1); wc < 0xffff; wc++) { + width = wcwidth(wc+1); if (width != lastwidth) { printf("%04lX - %04lX = %d\n", (unsigned long int) low, - (unsigned long int) (wc - 1), lastwidth); - low = wc; + (unsigned long int) (wc), lastwidth); + low = wc+1; } lastwidth = width; } - width = wcwidth(wc - 1); + width = wcwidth(wc); if (width == lastwidth) printf("%04lX - %04lX = %d\n", (unsigned long int) low, - (unsigned long int) (wc - 1), width); -} + (unsigned long int) (wc), width); #endif /* MULTIBYTE_SUPPORT */ +}