summaryrefslogtreecommitdiff
path: root/localedata/tst-mbswcs6.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-08-03 22:09:42 +0000
committerUlrich Drepper <drepper@redhat.com>2001-08-03 22:09:42 +0000
commitdb2d05f93ce7a790a1f50ed5b082539b566801e2 (patch)
treef9798dd65c34397e50a7fff0a41fc160e645c2aa /localedata/tst-mbswcs6.c
parentb9583166c0acb0f792fd741edaf6b35b6851694a (diff)
Update.
* iconvdata/8bit-gap.c: Correctly use __builtin_expect. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/gb18030.c: Likewise. * iconvdata/gbbig5.c: Likewise. * iconvdata/gbgbk.c: Likewise. * iconvdata/gbk.c: Likewise. * iconvdata/ibm930.c: Likewise. * iconvdata/ibm932.c: Likewise. * iconvdata/ibm933.c: Likewise. * iconvdata/ibm935.c: Likewise. * iconvdata/ibm939.c: Likewise. * iconvdata/ibm943.c: Likewise. * iconvdata/iso-2022-cn.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/unicode.c: Likewise. * iconvdata/utf-16.c: Likewise. * iconv/gconv_simple.c: Likewise. Convert assert() in real error handling.
Diffstat (limited to 'localedata/tst-mbswcs6.c')
-rw-r--r--localedata/tst-mbswcs6.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/localedata/tst-mbswcs6.c b/localedata/tst-mbswcs6.c
new file mode 100644
index 0000000000..a4ba7fe45e
--- /dev/null
+++ b/localedata/tst-mbswcs6.c
@@ -0,0 +1,74 @@
+/* Test for invalid input to wcrtomb.
+ Copyright (C) 2001 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <errno.h>
+#include <locale.h>
+#include <stdio.h>
+#include <string.h>
+#include <wchar.h>
+
+
+static int
+do_test (const char *loc)
+{
+ char buf[100];
+ size_t n;
+ mbstate_t state;
+ const char *nloc;
+ int res;
+
+ nloc = setlocale (LC_ALL, loc);
+ if (nloc == NULL)
+ {
+ printf ("could not set locale \"%s\"\n", loc);
+ return 1;
+ }
+ printf ("new locale: %s\n", nloc);
+
+ memset (&state, '\0', sizeof (state));
+ errno = 0;
+ n = wcrtomb (buf, (wchar_t) -15l, &state);
+
+ printf ("n = %zd, errno = %d (%s)\n", n, errno, strerror (errno));
+
+ res = n != (size_t) -1 || errno != EILSEQ;
+ if (res)
+ puts ("*** FAIL");
+ putchar ('\n');
+
+ return res;
+}
+
+
+int
+main (void)
+{
+ int res;
+
+ res = do_test ("C");
+ res |= do_test ("de_DE.ISO-8859-1");
+ res |= do_test ("de_DE.UTF-8");
+ res |= do_test ("en_US.ANSI_X3.4-1968");
+ res |= do_test ("ja_JP.EUC-JP");
+ res |= do_test ("hr_HR.ISO-8859-2");
+ //res |= do_test ("ru_RU.KOI8-R");
+
+ return res;
+}