diff options
Diffstat (limited to 'REORG.TODO/stdio-common/bug14.c')
-rw-r--r-- | REORG.TODO/stdio-common/bug14.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/REORG.TODO/stdio-common/bug14.c b/REORG.TODO/stdio-common/bug14.c new file mode 100644 index 0000000000..317d4969d3 --- /dev/null +++ b/REORG.TODO/stdio-common/bug14.c @@ -0,0 +1,29 @@ +/* Test case by Al Viro <aviro@redhat.com>. */ +#include <locale.h> +#include <wchar.h> +#include <stdio.h> +#include <stdlib.h> + +/* MB_CUR_MAX multibyte ones (6 UTF+0080, in this case) */ +static const char string[] = "\ +\xc2\x80\xc2\x80\xc2\x80\xc2\x80\xc2\x80\xc2\x80"; + +int +main (void) +{ + if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) + { + puts ("cannot set locale"); + exit (1); + } + + wchar_t s[7]; + int n = sscanf (string, "%l[\x80\xc2]", s); + if (n != 1) + { + printf ("return values %d != 1\n", n); + exit (1); + } + + return 0; +} |