From fbbc1d8078ecaf1cbfbade84cf54913ad4409220 Mon Sep 17 00:00:00 2001 From: David Levine Date: Thu, 14 Mar 2013 20:37:49 -0500 Subject: [PATCH] Changed loop in dumpwidth() to go from [0, 0xffff) because wchar_t is 2 bytes wide on Cygwin. gcc noticed that the loop would never terminate because 0xffff would increment to 0. --- test/getcwidth.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/getcwidth.c b/test/getcwidth.c index a145b2d9..9e1ba65c 100644 --- a/test/getcwidth.c +++ b/test/getcwidth.c @@ -145,19 +145,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 */ -- 2.56.0