x86-64: Skip zero length in __mem[pcpy|move|set]_erms
[glibc.git] / libio / tst-fgetwc.c
blob06e4a424ff70314b33f5aebe89a09c617020ddf3
1 #include <locale.h>
2 #include <stdio.h>
3 #include <wchar.h>
6 static int
7 do_test (void)
9 if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL)
11 puts ("setlocale failed");
12 return 1;
15 if (setvbuf (stdin, NULL, _IONBF, 0) != 0)
17 puts ("setvbuf failed");
18 return 1;
21 wchar_t buf[100];
22 size_t nbuf = 0;
23 wint_t c;
24 while ((c = fgetwc (stdin)) != WEOF)
25 buf[nbuf++] = c;
27 if (ferror (stdin))
29 puts ("error on stdin");
30 return 1;
33 const wchar_t expected[] =
35 0x00000439, 0x00000446, 0x00000443, 0x0000043a,
36 0x00000435, 0x0000043d, 0x0000000a, 0x00000071,
37 0x00000077, 0x00000065, 0x00000072, 0x00000074,
38 0x00000079, 0x0000000a
41 if (nbuf != sizeof (expected) / sizeof (expected[0])
42 || wmemcmp (expected, buf, nbuf) != 0)
44 puts ("incorrect result");
45 return 1;
48 return 0;
51 #define TEST_FUNCTION do_test ()
52 #include "../test-skeleton.c"