]> diplodocus.org Git - nmh/blobdiff - test/getcwidth.c
add $(kibi) function, as complement to %(kilo)
[nmh] / test / getcwidth.c
index 59ae33e3cbeab0329c862ebc0fea974028e82430..4a8122b6e9170b0e085981962706d65b74f24f88 100644 (file)
@@ -30,6 +30,8 @@ int
 main(int argc, char *argv[])
 {
 #ifndef MULTIBYTE_SUPPORT
 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 */
        fprintf(stderr, "Nmh was not configured with multibyte support\n");
        exit(1);
 #else /* MULTIBYTE_SUPPORT */
@@ -126,7 +128,8 @@ getwidth(const char *string)
                }
 
                if ((clen = wcwidth(c)) < 0) {
                }
 
                if ((clen = wcwidth(c)) < 0) {
-                       fprintf(stderr, "U+%04X non-printable\n", c);
+                       fprintf(stderr, "U+%04lX non-printable\n",
+                               (unsigned long int) c);
                        return;
                }
 
                        return;
                }
 
@@ -144,17 +147,19 @@ dumpwidth(void)
        wchar_t wc, low;
        int width, lastwidth;
 
        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) {
                if (width != lastwidth) {
-                       printf("%04X - %04X = %d\n", low, wc - 1, lastwidth);
-                       low = wc;
+                       printf("%04lX - %04lX = %d\n", (unsigned long int) low,
+                              (unsigned long int) (wc), lastwidth);
+                       low = wc+1;
                }
                lastwidth = width;
        }
 
                }
                lastwidth = width;
        }
 
-       width = wcwidth(wc - 1);
+       width = wcwidth(wc);
        if (width == lastwidth)
        if (width == lastwidth)
-               printf("%04X - %04X = %d\n", low, wc - 1, width);
-}
+               printf("%04lX - %04lX = %d\n", (unsigned long int) low,
+                      (unsigned long int) (wc), width);
 #endif /* MULTIBYTE_SUPPORT */
 #endif /* MULTIBYTE_SUPPORT */
+}