diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-08-03 22:09:42 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-08-03 22:09:42 +0000 |
commit | db2d05f93ce7a790a1f50ed5b082539b566801e2 (patch) | |
tree | f9798dd65c34397e50a7fff0a41fc160e645c2aa /localedata/tst-mbswcs6.c | |
parent | b9583166c0acb0f792fd741edaf6b35b6851694a (diff) | |
download | glibc-db2d05f93ce7a790a1f50ed5b082539b566801e2.zip glibc-db2d05f93ce7a790a1f50ed5b082539b566801e2.tar.gz glibc-db2d05f93ce7a790a1f50ed5b082539b566801e2.tar.bz2 |
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.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/localedata/tst-mbswcs6.c b/localedata/tst-mbswcs6.c new file mode 100644 index 0000000..a4ba7fe --- /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; +} |