about summary refs log tree commit diff
path: root/stdio-common/bug14.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-16 00:09:24 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-16 00:09:24 +0000
commita1a2fec161c0fafca0f8e5df454e9ec9fa15ed99 (patch)
treef6fc527aad72c774800df84472a2b89316ea75a6 /stdio-common/bug14.c
parent0f740059389e194e62ce975527bcafa26b99b8d8 (diff)
downloadglibc-a1a2fec161c0fafca0f8e5df454e9ec9fa15ed99.tar.gz
glibc-a1a2fec161c0fafca0f8e5df454e9ec9fa15ed99.tar.xz
glibc-a1a2fec161c0fafca0f8e5df454e9ec9fa15ed99.zip
Update.
	* stdio-common/Makefile (tests): Add bug14.
	* stdio-common/bug14.c: New file.
Diffstat (limited to 'stdio-common/bug14.c')
-rw-r--r--stdio-common/bug14.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/stdio-common/bug14.c b/stdio-common/bug14.c
new file mode 100644
index 0000000000..31ef754358
--- /dev/null
+++ b/stdio-common/bug14.c
@@ -0,0 +1,28 @@
+/* Test case by Al Viro <aviro@redhat.com>.  */
+#include <locale.h>
+#include <wchar.h>
+#include <stdio.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.utf8") == 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;
+}