diff options
Diffstat (limited to 'iconvdata')
-rw-r--r-- | iconvdata/Makefile | 26 | ||||
-rw-r--r-- | iconvdata/bug-iconv6.c | 52 | ||||
-rw-r--r-- | iconvdata/ebcdic-es-a.c | 8 | ||||
-rw-r--r-- | iconvdata/ebcdic-es.c | 8 | ||||
-rw-r--r-- | iconvdata/ebcdic-is-friss.c | 8 | ||||
-rw-r--r-- | iconvdata/ebcdic-uk.c | 8 | ||||
-rw-r--r-- | iconvdata/gconv-modules | 26 | ||||
-rw-r--r-- | iconvdata/hp-greek8.c | 29 | ||||
-rw-r--r-- | iconvdata/hp-roman8.c | 8 | ||||
-rw-r--r-- | iconvdata/hp-roman9.c | 29 | ||||
-rw-r--r-- | iconvdata/hp-thai8.c | 29 | ||||
-rw-r--r-- | iconvdata/hp-turkish8.c | 29 | ||||
-rw-r--r-- | iconvdata/iso8859-16.c | 9 | ||||
-rw-r--r-- | iconvdata/iso8859-9e.c | 7 | ||||
-rwxr-xr-x | iconvdata/tst-tables.sh | 4 | ||||
-rw-r--r-- | iconvdata/viscii.c | 9 |
16 files changed, 246 insertions, 43 deletions
diff --git a/iconvdata/Makefile b/iconvdata/Makefile index bf52d52f8f..4ac5de30e5 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -25,14 +25,14 @@ subdir := iconvdata modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \ ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 ISO8859-16 \ - T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 EBCDIC-AT-DE \ + T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 HP-ROMAN9 EBCDIC-AT-DE \ EBCDIC-AT-DE-A EBCDIC-CA-FR EUC-KR UHC JOHAB libJIS libKSC \ BIG5 EUC-JP libGB EUC-CN libCNS EUC-TW ISO646 EBCDIC-DK-NO \ EBCDIC-DK-NO-A EBCDIC-ES EBCDIC-ES-A EBCDIC-ES-S EBCDIC-FI-SE \ EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT \ EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423 \ IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047 \ - IBM874 CP737 CP775 ISO-2022-KR \ + IBM874 CP737 CP775 ISO-2022-KR HP-TURKISH8 HP-THAI8 HP-GREEK8 \ KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278 \ IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 \ IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861 \ @@ -67,7 +67,7 @@ include ../Makeconfig ifeq (yes,$(build-shared)) tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \ - tst-iconv6 bug-iconv5 + tst-iconv6 bug-iconv5 bug-iconv6 ifeq ($(have-thread-library),yes) tests += bug-iconv3 endif @@ -198,7 +198,8 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \ ibm12712.c ibm12712.h ibm16804.c ibm16804.h \ ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \ ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c \ - brf.c mac-centraleurope.c + brf.c mac-centraleurope.c hp-roman9.c hp-turkish8.c \ + hp-thai8.c hp-greek8.c # We build the transformation modules only when we build shared libs. ifeq (yes,$(build-shared)) @@ -217,13 +218,11 @@ install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \ # We can build the conversion tables for numerous charsets automatically. gen-8bit-modules := iso8859-2 iso8859-3 iso8859-4 iso8859-6 iso8859-9 koi-8 \ - hp-roman8 ebcdic-at-de ebcdic-at-de-a ebcdic-ca-fr \ - ebcdic-dk-no ebcdic-dk-no-a ebcdic-es ebcdic-es-a \ - ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a ebcdic-fr \ - ebcdic-is-friss ebcdic-it ebcdic-pt ebcdic-uk ebcdic-us \ + ebcdic-at-de ebcdic-at-de-a ebcdic-ca-fr ebcdic-dk-no \ + ebcdic-dk-no-a ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a \ + ebcdic-fr ebcdic-it ebcdic-pt ebcdic-us \ ibm037 ibm038 ibm274 ibm275 ibm423 ibm500 ibm870 ibm871 \ - ibm891 ibm903 ibm904 ibm905 ibm1047 iso8859-16 viscii \ - iso8859-9e + ibm891 ibm903 ibm904 ibm905 ibm1047 \ gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \ ibm277 ibm278 ibm280 ibm281 ibm284 ibm285 ibm290 \ @@ -240,8 +239,11 @@ gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \ iso8859-13 iso8859-14 iso8859-15 mac-uk sami-ws2 \ iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t \ georgian-ps georgian-academy iso-ir-209 mac-sami \ - iso8859-11 ibm866nav pt154 rk1048 mik brf \ - mac-centraleurope koi8-ru + iso8859-11 ibm866nav pt154 rk1048 mik brf \ + mac-centraleurope koi8-ru hp-roman8 hp-roman9 \ + ebcdic-es ebcdic-es-a ebcdic-is-friss ebcdic-uk \ + iso8859-16 viscii iso8859-9e hp-turkish8 \ + hp-thai8 hp-greek8 gen-special-modules := iso8859-7jp diff --git a/iconvdata/bug-iconv6.c b/iconvdata/bug-iconv6.c new file mode 100644 index 0000000000..f920954bc2 --- /dev/null +++ b/iconvdata/bug-iconv6.c @@ -0,0 +1,52 @@ +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +#include <iconv.h> +#include <locale.h> + +static const char testbuf[] = { + 0xEF, 0xBE, 0x9F, 0xD0, 0xB4, 0xEF, 0xBE, 0x9F, 0x29, 0xEF, 0xBE, 0x8E, + 0xEF, 0xBE, 0x9F, 0xEF, 0xBD, 0xB6, 0xEF, 0xBD, 0xB0, 0xEF, 0xBE, 0x9D +}; + +static int +do_test (void) +{ + setlocale (LC_ALL, "en_US.UTF-8"); + iconv_t ic = iconv_open ("ISO-2022-JP//TRANSLIT", "UTF-8"); + if (ic == (iconv_t) -1) + { + puts ("iconv_open failed"); + return 1; + } + size_t outremain = sizeof testbuf; + char outbuf[outremain]; + char *inp = (char *) testbuf; + char *outp = outbuf; + size_t inremain = sizeof testbuf; + + int ret = iconv (ic, &inp, &inremain, &outp, &outremain); + + int result = 0; + if (ret == (size_t) -1) + { + if (errno == E2BIG) + puts ("buffer too small reported. OK"); + else + { + printf ("iconv failed with %d (%m)\n", errno); + result = 0; + } + } + else + { + printf ("iconv returned %d\n", ret); + result = 1; + } + + return result; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" diff --git a/iconvdata/ebcdic-es-a.c b/iconvdata/ebcdic-es-a.c index ca8c980e6d..d056820cff 100644 --- a/iconvdata/ebcdic-es-a.c +++ b/iconvdata/ebcdic-es-a.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-ES-A. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -20,10 +20,10 @@ #include <stdint.h> -/* Get the conversion table. */ -#include <ebcdic-es-a.h> +/* Specify the conversion table. */ +#define TABLES <ebcdic-es-a.h> #define CHARSET_NAME "EBCDIC-ES-A//" #define HAS_HOLES 1 /* Not all 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> diff --git a/iconvdata/ebcdic-es.c b/iconvdata/ebcdic-es.c index 4b471452bb..bb447c0376 100644 --- a/iconvdata/ebcdic-es.c +++ b/iconvdata/ebcdic-es.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-ES. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -20,10 +20,10 @@ #include <stdint.h> -/* Get the conversion table. */ -#include <ebcdic-es.h> +/* Specify the conversion table. */ +#define TABLES <ebcdic-es.h> #define CHARSET_NAME "EBCDIC-ES//" #define HAS_HOLES 1 /* Not all 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> diff --git a/iconvdata/ebcdic-is-friss.c b/iconvdata/ebcdic-is-friss.c index cf9416f9ba..0a05ab2c9d 100644 --- a/iconvdata/ebcdic-is-friss.c +++ b/iconvdata/ebcdic-is-friss.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-IS-FRISS. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -20,10 +20,10 @@ #include <stdint.h> -/* Get the conversion table. */ -#include <ebcdic-is-friss.h> +/* Specify the conversion table. */ +#define TABLES <ebcdic-is-friss.h> #define CHARSET_NAME "EBCDIC-IS-FRISS//" #define HAS_HOLES 1 /* Not all 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> diff --git a/iconvdata/ebcdic-uk.c b/iconvdata/ebcdic-uk.c index 7137a80981..ea9ff705ae 100644 --- a/iconvdata/ebcdic-uk.c +++ b/iconvdata/ebcdic-uk.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-UK. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -20,10 +20,10 @@ #include <stdint.h> -/* Get the conversion table. */ -#include <ebcdic-uk.h> +/* Specify the conversion table. */ +#define TABLES <ebcdic-uk.h> #define CHARSET_NAME "EBCDIC-UK//" #define HAS_HOLES 1 /* Not all 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules index a8fcd8f0b3..a14dbbe9d6 100644 --- a/iconvdata/gconv-modules +++ b/iconvdata/gconv-modules @@ -1927,3 +1927,29 @@ alias ISO8859-9E// ISO-8859-9E// alias ISO88599E// ISO-8859-9E// module ISO-8859-9E// INTERNAL ISO8859-9E 1 module INTERNAL ISO-8859-9E// ISO8859-9E 1 + +# from to module cost +alias ROMAN9// HP-ROMAN9// +alias R9// HP-ROMAN9// +alias HPROMAN9// HP-ROMAN9// +module HP-ROMAN9// INTERNAL HP-ROMAN9 1 +module INTERNAL HP-ROMAN9// HP-ROMAN9 1 + +# from to module cost +alias TURKISH8// HP-TURKISH8// +alias HPTURKISH8// HP-TURKISH8// +alias OSF10010006// HP-TURKISH8// +module HP-TURKISH8// INTERNAL HP-TURKISH8 1 +module INTERNAL HP-TURKISH8// HP-TURKISH8 1 + +# from to module cost +alias THAI8// HP-THAI8// +alias HPTHAI8// HP-THAI8// +module HP-THAI8// INTERNAL HP-THAI8 1 +module INTERNAL HP-THAI8// HP-THAI8 1 + +# from to module cost +alias HPGREEK8// HP-GREEK8// +alias OSF10010004// HP-GREEK8// +module HP-GREEK8// INTERNAL HP-GREEK8 1 +module INTERNAL HP-GREEK8// HP-GREEK8 1 diff --git a/iconvdata/hp-greek8.c b/iconvdata/hp-greek8.c new file mode 100644 index 0000000000..617608c341 --- /dev/null +++ b/iconvdata/hp-greek8.c @@ -0,0 +1,29 @@ +/* Conversion from and to HP-GREEK8. + Copyright (C) 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2007. + + 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 <stdint.h> + +/* Specify the conversion table. */ +#define TABLES <hp-greek8.h> + +#define CHARSET_NAME "HP-GREEK8//" +#define HAS_HOLES 1 /* Not all 256 character are defined. */ + +#include <8bit-gap.c> diff --git a/iconvdata/hp-roman8.c b/iconvdata/hp-roman8.c index 9833a071fb..ec29d82773 100644 --- a/iconvdata/hp-roman8.c +++ b/iconvdata/hp-roman8.c @@ -1,5 +1,5 @@ /* Conversion from and to HP-ROMAN8. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -20,10 +20,10 @@ #include <stdint.h> -/* Get the conversion table. */ -#include <hp-roman8.h> +/* Specify the conversion table. */ +#define TABLES <hp-roman8.h> #define CHARSET_NAME "HP-ROMAN8//" #define HAS_HOLES 1 /* Not all 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> diff --git a/iconvdata/hp-roman9.c b/iconvdata/hp-roman9.c new file mode 100644 index 0000000000..2f14815762 --- /dev/null +++ b/iconvdata/hp-roman9.c @@ -0,0 +1,29 @@ +/* Conversion from and to HP-ROMAN9. + Copyright (C) 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2007. + + 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 <stdint.h> + +/* Specify the conversion table. */ +#define TABLES <hp-roman9.h> + +#define CHARSET_NAME "HP-ROMAN9//" +#define HAS_HOLES 1 /* Not all 256 character are defined. */ + +#include <8bit-gap.c> diff --git a/iconvdata/hp-thai8.c b/iconvdata/hp-thai8.c new file mode 100644 index 0000000000..a8f0b4a511 --- /dev/null +++ b/iconvdata/hp-thai8.c @@ -0,0 +1,29 @@ +/* Conversion from and to HP-THAI8. + Copyright (C) 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2007. + + 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 <stdint.h> + +/* Specify the conversion table. */ +#define TABLES <hp-thai8.h> + +#define CHARSET_NAME "HP-THAI8//" +#define HAS_HOLES 1 /* Not all 256 character are defined. */ + +#include <8bit-gap.c> diff --git a/iconvdata/hp-turkish8.c b/iconvdata/hp-turkish8.c new file mode 100644 index 0000000000..5de0f14bdf --- /dev/null +++ b/iconvdata/hp-turkish8.c @@ -0,0 +1,29 @@ +/* Conversion from and to HP-TURKISH8. + Copyright (C) 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2007. + + 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 <stdint.h> + +/* Specify the conversion table. */ +#define TABLES <hp-turkish8.h> + +#define CHARSET_NAME "HP-TURKISH8//" +#define HAS_HOLES 1 /* Not all 256 character are defined. */ + +#include <8bit-gap.c> diff --git a/iconvdata/iso8859-16.c b/iconvdata/iso8859-16.c index 39857a628a..41ed591629 100644 --- a/iconvdata/iso8859-16.c +++ b/iconvdata/iso8859-16.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-16. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000. @@ -18,11 +18,12 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -/* Get the conversion table. */ #include <stdint.h> -#include <iso8859-16.h> + +/* Specify the conversion table. */ +#define TABLES <iso8859-16.h> #define CHARSET_NAME "ISO-8859-16//" #define HAS_HOLES 0 /* All 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> diff --git a/iconvdata/iso8859-9e.c b/iconvdata/iso8859-9e.c index 7048edac6f..300466399f 100644 --- a/iconvdata/iso8859-9e.c +++ b/iconvdata/iso8859-9e.c @@ -18,11 +18,12 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -/* Get the conversion table. */ #include <stdint.h> -#include <iso8859-9e.h> + +/* Specify the conversion table. */ +#define TABLES <iso8859-9e.h> #define CHARSET_NAME "ISO-8859-9E//" #define HAS_HOLES 0 /* All 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh index f240e51f36..59bc3f4bac 100755 --- a/iconvdata/tst-tables.sh +++ b/iconvdata/tst-tables.sh @@ -80,6 +80,10 @@ cat <<EOF | LATIN-GREEK LATIN-GREEK-1 HP-ROMAN8 + HP-ROMAN9 + HP-TURKISH8 + HP-THAI8 + HP-GREEK8 EBCDIC-AT-DE EBCDIC-AT-DE-A EBCDIC-CA-FR diff --git a/iconvdata/viscii.c b/iconvdata/viscii.c index 8e7d87e92b..672513d4d4 100644 --- a/iconvdata/viscii.c +++ b/iconvdata/viscii.c @@ -1,5 +1,5 @@ /* Conversion from and to VISCII. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000. @@ -18,11 +18,12 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -/* Get the conversion table. */ #include <stdint.h> -#include <viscii.h> + +/* Specify the conversion table. */ +#define TABLES <viscii.h> #define CHARSET_NAME "VISCII//" #define HAS_HOLES 0 /* All 256 character are defined. */ -#include <8bit-generic.c> +#include <8bit-gap.c> |