Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 24 Apr 1998 07:07:59 +0000 (07:07 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 24 Apr 1998 07:07:59 +0000 (07:07 +0000)
<<<<<<< ChangeLog
1998-04-23 22:43  Ulrich Drepper  <drepper@cygnus.com>

* elf/dl-load.c (fillin_rpath): Handle empty element returned by
strsep as current directory.

* iconv/gconv_builtin.h: Add aliases unicode and unicodebig for
Java.  Add definitions for unicodelittle implementation.
* iconv/gconv_int.h: Add declaration for unicodelittle functions.
* iconv/gconv_simple.c: Define unicodelittle functions.

* iconv/iconv_prog.c: Make program print information about position
of illegal character in input.

* iconv/skeleton.c: Use __strcasecmp instead of __strcasestr for
comparison of charset name.
* iconvdata/big5.c (CHARSET_NAME): Adapt for this.
* iconvdata/ebcdic-at-de-a.c: Likewise.
* iconvdata/ebcdic-at-de.c: Likewise.
* iconvdata/ebcdic-ca-fr.c: Likewise.
* iconvdata/euccn.c: Likewise.
* iconvdata/eucjp.c: Likewise.
* iconvdata/euckr.c: Likewise.
* iconvdata/euctw.c: Likewise.
* iconvdata/hp-roman8.c: Likewise.
* iconvdata/iso6937.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso8859-10.c: Likewise.
* iconvdata/iso8859-2.c: Likewise.
* iconvdata/iso8859-3.c: Likewise.
* iconvdata/iso8859-4.c: Likewise.
* iconvdata/iso8859-5.c: Likewise.
* iconvdata/iso8859-6.c: Likewise.
* iconvdata/iso8859-7.c: Likewise.
* iconvdata/iso8859-8.c: Likewise.
* iconvdata/iso8859-9.c: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/koi-8.c: Likewise.
* iconvdata/koi8-r.c: Likewise.
* iconvdata/latin-greek-1.c: Likewise.
* iconvdata/latin-greek.c: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t61.c: Likewise.
* iconvdata/uhc.c: Likewise.

* iconvdata/iso646.c: Add support for more ISO 646 variants.
* iconvdata/TESTS: Add tests for ISO646 module.
* iconvdata/gconv-modules: Add new modules.
* iconvdata/testdate/CSA_Z243.4-1985-1: New tests for ISO646 module.
* iconvdata/testdate/CSA_Z243.4-1985-1..UCS2: Likewise.
* iconvdata/testdate/CSA_Z243.4-1985-2: Likewise.
* iconvdata/testdate/CSA_Z243.4-1985-2..UCS4: Likewise.
* iconvdata/testdate/DIN_66003: Likewise.
* iconvdata/testdate/DIN_66003..UTF8: Likewise.
* iconvdata/testdate/DS_2089: Likewise.
* iconvdata/testdate/DS_2089..UTF8: Likewise.
* iconvdata/testdate/ES: Likewise.
* iconvdata/testdate/ES..UTF8: Likewise.
* iconvdata/testdate/ES2: Likewise.
* iconvdata/testdate/ES2..UTF8: Likewise.
* iconvdata/testdate/GB_1988-80: Likewise.
* iconvdata/testdate/GB_1988-80..UTF8: Likewise.
* iconvdata/testdate/IT: Likewise.
* iconvdata/testdate/IT..UTF8: Likewise.
* iconvdata/testdate/JIS_C6220-1969-RO: Likewise.
* iconvdata/testdate/JIS_C6220-1969-RO..UTF8: Likewise.
* iconvdata/testdate/JIS_C6229-1984-B: Likewise.
* iconvdata/testdate/JIS_C6229-1984-B..UTF8: Likewise.
* iconvdata/testdate/JUS_I.B1.002: Likewise.
* iconvdata/testdate/JUS_I.B1.002..UTF8: Likewise.
* iconvdata/testdate/KSC5636: Likewise.
* iconvdata/testdate/KSC5636..UTF8: Likewise.
* iconvdata/testdate/MSZ_7795.3: Likewise.
* iconvdata/testdate/MSZ_7795.3..UTF8: Likewise.
* iconvdata/testdate/NC_NC00-10: Likewise.
* iconvdata/testdate/NC_NC00-10..UTF8: Likewise.
* iconvdata/testdate/NF_Z_62-010: Likewise.
* iconvdata/testdate/NF_Z_62-010..UTF8: Likewise.
* iconvdata/testdate/NF_Z_62-010_1973: Likewise.
* iconvdata/testdate/NF_Z_62-010_1973..UTF8: Likewise.
* iconvdata/testdate/NS_4551-1: Likewise.
* iconvdata/testdate/NS_4551-1..UTF8: Likewise.
* iconvdata/testdate/NS_4551-2: Likewise.
* iconvdata/testdate/NS_4551-2..UTF8: Likewise.
* iconvdata/testdate/PT: Likewise.
* iconvdata/testdate/PT..UTF8: Likewise.
* iconvdata/testdate/PT2: Likewise.
* iconvdata/testdate/PT2..UTF8: Likewise.
* iconvdata/testdate/SEN_850200_B: Likewise.
* iconvdata/testdate/SEN_850200_B..UTF8: Likewise.
* iconvdata/testdate/SEN_850200_C: Likewise.
* iconvdata/testdate/SEN_850200_C..UTF8: Likewise.

* iconvdata/cns11643.h: Use uint32_t instead of wchar_t.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/latin-greek-1.h: Likewise.
* iconvdata/latin-greek.h: Likewise.
* iconvdata/koi8-r.h: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/ksc5601.h: Likewise.

* iconvdata/8bit-gap.c: Use 32 bit type for idx element of struct gap.

* iconvdata/Makefile: Add rules for lots of more modules.
* iconvdata/cp1250.c: New file.
* iconvdata/cp1251.c: New file.
* iconvdata/cp1252.c: New file.
* iconvdata/cp1253.c: New file.
* iconvdata/cp1254.c: New file.
* iconvdata/cp1255.c: New file.
* iconvdata/cp1256.c: New file.
* iconvdata/cp1257.c: New file.
* iconvdata/ebcdic-dk-no-a.c: New file.
* iconvdata/ebcdic-dk-no.c: New file.
* iconvdata/ebcdic-es-a.c: New file.
* iconvdata/ebcdic-es-s.c: New file.
* iconvdata/ebcdic-es.c: New file.
* iconvdata/ebcdic-fi-se-a.c: New file.
* iconvdata/ebcdic-fi-se.c: New file.
* iconvdata/ebcdic-fr.c: New file.
* iconvdata/ebcdic-is-friss.c: New file.
* iconvdata/ebcdic-it.c: New file.
* iconvdata/ebcdic-pt.c: New file.
* iconvdata/ebcdic-uk.c: New file.
* iconvdata/ebcdic-us.c: New file.
* iconvdata/ibm037.c: New file.
* iconvdata/ibm038.c: New file.
* iconvdata/ibm1004.c: New file.
* iconvdata/ibm1026.c: New file.
* iconvdata/ibm1047.c: New file.
* iconvdata/ibm256.c: New file.
* iconvdata/ibm273.c: New file.
* iconvdata/ibm274.c: New file.
* iconvdata/ibm275.c: New file.
* iconvdata/ibm277.c: New file.
* iconvdata/ibm278.c: New file.
* iconvdata/ibm280.c: New file.
* iconvdata/ibm281.c: New file.
* iconvdata/ibm284.c: New file.
* iconvdata/ibm285.c: New file.
* iconvdata/ibm290.c: New file.
* iconvdata/ibm297.c: New file.
* iconvdata/ibm420.c: New file.
* iconvdata/ibm423.c: New file.
* iconvdata/ibm424.c: New file.
* iconvdata/ibm437.c: New file.
* iconvdata/ibm500.c: New file.
* iconvdata/ibm850.c: New file.
* iconvdata/ibm851.c: New file.
* iconvdata/ibm852.c: New file.
* iconvdata/ibm855.c: New file.
* iconvdata/ibm857.c: New file.
* iconvdata/ibm860.c: New file.
* iconvdata/ibm861.c: New file.
* iconvdata/ibm862.c: New file.
* iconvdata/ibm863.c: New file.
* iconvdata/ibm864.c: New file.
* iconvdata/ibm865.c: New file.
* iconvdata/ibm868.c: New file.
* iconvdata/ibm869.c: New file.
* iconvdata/ibm870.c: New file.
* iconvdata/ibm871.c: New file.
* iconvdata/ibm875.c: New file.
* iconvdata/ibm880.c: New file.
* iconvdata/ibm891.c: New file.
* iconvdata/ibm903.c: New file.
* iconvdata/ibm904.c: New file.
* iconvdata/ibm905.c: New file.
* iconvdata/ibm918.c: New file.

* locale/iso-4217.def: Update.
* localedata/locales/pt_BR: Correct.  Patches by Andreas Jaeger.

* stdio-common/vfscanf.h: Recognize nan and inf in floating-point
formats.

1998-04-22  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* elf/dl-load.c (_dl_init_paths): ';' is also a terminal for
LD_LIBRARY_PATH.

1998-04-22  Gordon Matzigkeit  <gord@profitpress.com>

* Makerules: Change occurances of `cd dir; cmd' to `cd dir && cmd'.
* Makefile: Likewise.
* posix/Makefile: Likewise.
* sysdeps/mach/hurd/Makefile: Likewise.

1998-04-22  Gordon Matzigkeit  <gord@profitpress.com>

* sysdeps/mach/hurd/bits/dirent.h: New file.
* sysdeps/mach/hurd/readdir64.c: New file.
* sysdeps/mach/hurd/readdir64_r.c: New file.

1998-04-21  Gordon Matzigkeit  <gord@profitpress.com>

* stdio/stdio.h (vasprintf, __asprintf, asprintf, vdprintf,
dprintf): Synchronize declarations with libio/stdio.h.

1998-04-21  Gordon Matzigkeit  <gord@profitpress.com>

* elf/dlerror.c (dlerror): Don't assume that
__libc_internal_tsd_get is defined.  __libc_getspecific is already
well-protected, so just use it directly.

1998-04-22  Gordon Matzigkeit  <gord@profitpress.com>

* io/ftw.h (ftw): Fix typo.

1998-04-21  Gordon Matzigkeit  <gord@profitpress.com>

* sysdeps/gnu/utmp_file.c: Fix typo.

1998-04-22 11:06  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* iconvdata/run-iconv-test.sh: Fix more portability bugs.  When
one part of a test fails move on to the next test.

1998-04-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Compare addresses
as pointers, not signed integers.

1998-04-22 11:06  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

165 files changed:
ChangeLog
iconv/gconv_int.h
iconv/gconv_simple.c
iconv/iconv_prog.c
iconv/skeleton.c
iconvdata/8bit-gap.c
iconvdata/Makefile
iconvdata/TESTS
iconvdata/big5.c
iconvdata/cns11643.h
iconvdata/cns11643l1.h
iconvdata/cp1250.c [new file with mode: 0644]
iconvdata/cp1251.c [new file with mode: 0644]
iconvdata/cp1252.c [new file with mode: 0644]
iconvdata/cp1253.c [new file with mode: 0644]
iconvdata/cp1254.c [new file with mode: 0644]
iconvdata/cp1255.c [new file with mode: 0644]
iconvdata/cp1256.c [new file with mode: 0644]
iconvdata/cp1257.c [new file with mode: 0644]
iconvdata/ebcdic-at-de-a.c
iconvdata/ebcdic-at-de.c
iconvdata/ebcdic-ca-fr.c
iconvdata/ebcdic-dk-no-a.c [new file with mode: 0644]
iconvdata/ebcdic-dk-no.c [new file with mode: 0644]
iconvdata/ebcdic-es-a.c [new file with mode: 0644]
iconvdata/ebcdic-es-s.c [new file with mode: 0644]
iconvdata/ebcdic-es.c [new file with mode: 0644]
iconvdata/ebcdic-fi-se-a.c [new file with mode: 0644]
iconvdata/ebcdic-fi-se.c [new file with mode: 0644]
iconvdata/ebcdic-fr.c [new file with mode: 0644]
iconvdata/ebcdic-is-friss.c [new file with mode: 0644]
iconvdata/ebcdic-it.c [new file with mode: 0644]
iconvdata/ebcdic-pt.c [new file with mode: 0644]
iconvdata/ebcdic-uk.c [new file with mode: 0644]
iconvdata/ebcdic-us.c [new file with mode: 0644]
iconvdata/euccn.c
iconvdata/eucjp.c
iconvdata/euckr.c
iconvdata/euctw.c
iconvdata/gb2312.h
iconvdata/gconv-modules
iconvdata/hp-roman8.c
iconvdata/ibm037.c [new file with mode: 0644]
iconvdata/ibm038.c [new file with mode: 0644]
iconvdata/ibm1004.c [new file with mode: 0644]
iconvdata/ibm1026.c [new file with mode: 0644]
iconvdata/ibm1047.c [new file with mode: 0644]
iconvdata/ibm256.c [new file with mode: 0644]
iconvdata/ibm273.c [new file with mode: 0644]
iconvdata/ibm274.c [new file with mode: 0644]
iconvdata/ibm275.c [new file with mode: 0644]
iconvdata/ibm277.c [new file with mode: 0644]
iconvdata/ibm278.c [new file with mode: 0644]
iconvdata/ibm280.c [new file with mode: 0644]
iconvdata/ibm281.c [new file with mode: 0644]
iconvdata/ibm284.c [new file with mode: 0644]
iconvdata/ibm285.c [new file with mode: 0644]
iconvdata/ibm290.c [new file with mode: 0644]
iconvdata/ibm297.c [new file with mode: 0644]
iconvdata/ibm420.c [new file with mode: 0644]
iconvdata/ibm423.c [new file with mode: 0644]
iconvdata/ibm424.c [new file with mode: 0644]
iconvdata/ibm437.c [new file with mode: 0644]
iconvdata/ibm500.c [new file with mode: 0644]
iconvdata/ibm850.c [new file with mode: 0644]
iconvdata/ibm851.c [new file with mode: 0644]
iconvdata/ibm852.c [new file with mode: 0644]
iconvdata/ibm855.c [new file with mode: 0644]
iconvdata/ibm857.c [new file with mode: 0644]
iconvdata/ibm860.c [new file with mode: 0644]
iconvdata/ibm861.c [new file with mode: 0644]
iconvdata/ibm862.c [new file with mode: 0644]
iconvdata/ibm863.c [new file with mode: 0644]
iconvdata/ibm864.c [new file with mode: 0644]
iconvdata/ibm865.c [new file with mode: 0644]
iconvdata/ibm868.c [new file with mode: 0644]
iconvdata/ibm869.c [new file with mode: 0644]
iconvdata/ibm870.c [new file with mode: 0644]
iconvdata/ibm871.c [new file with mode: 0644]
iconvdata/ibm875.c [new file with mode: 0644]
iconvdata/ibm880.c [new file with mode: 0644]
iconvdata/ibm891.c [new file with mode: 0644]
iconvdata/ibm903.c [new file with mode: 0644]
iconvdata/ibm904.c [new file with mode: 0644]
iconvdata/ibm905.c [new file with mode: 0644]
iconvdata/ibm918.c [new file with mode: 0644]
iconvdata/iso646.c
iconvdata/iso6937.c
iconvdata/iso8859-1.c
iconvdata/iso8859-10.c
iconvdata/iso8859-2.c
iconvdata/iso8859-3.c
iconvdata/iso8859-4.c
iconvdata/iso8859-5.c
iconvdata/iso8859-6.c
iconvdata/iso8859-7.c
iconvdata/iso8859-8.c
iconvdata/iso8859-9.c
iconvdata/jis0212.h
iconvdata/johab.c
iconvdata/koi-8.c
iconvdata/koi8-r.c
iconvdata/koi8-r.h
iconvdata/ksc5601.h
iconvdata/latin-greek-1.c
iconvdata/latin-greek-1.h
iconvdata/latin-greek.c
iconvdata/latin-greek.h
iconvdata/sjis.c
iconvdata/t61.c
iconvdata/testdata/CSA_Z243.4-1985-1 [new file with mode: 0644]
iconvdata/testdata/CSA_Z243.4-1985-1..UCS2 [new file with mode: 0644]
iconvdata/testdata/CSA_Z243.4-1985-2 [new file with mode: 0644]
iconvdata/testdata/CSA_Z243.4-1985-2..UCS4 [new file with mode: 0644]
iconvdata/testdata/DIN_66003 [new file with mode: 0644]
iconvdata/testdata/DIN_66003..UTF8 [new file with mode: 0644]
iconvdata/testdata/DS_2089 [new file with mode: 0644]
iconvdata/testdata/DS_2089..UTF8 [new file with mode: 0644]
iconvdata/testdata/ES [new file with mode: 0644]
iconvdata/testdata/ES..UTF8 [new file with mode: 0644]
iconvdata/testdata/ES2 [new file with mode: 0644]
iconvdata/testdata/ES2..UTF8 [new file with mode: 0644]
iconvdata/testdata/GB_1988-80 [new file with mode: 0644]
iconvdata/testdata/GB_1988-80..UTF8 [new file with mode: 0644]
iconvdata/testdata/IT [new file with mode: 0644]
iconvdata/testdata/IT..UTF8 [new file with mode: 0644]
iconvdata/testdata/JIS_C6220-1969-RO [new file with mode: 0644]
iconvdata/testdata/JIS_C6220-1969-RO..UTF8 [new file with mode: 0644]
iconvdata/testdata/JIS_C6229-1984-B [new file with mode: 0644]
iconvdata/testdata/JIS_C6229-1984-B..UTF8 [new file with mode: 0644]
iconvdata/testdata/JUS_I.B1.002 [new file with mode: 0644]
iconvdata/testdata/JUS_I.B1.002..UTF8 [new file with mode: 0644]
iconvdata/testdata/KSC5636 [new file with mode: 0644]
iconvdata/testdata/KSC5636..UTF8 [new file with mode: 0644]
iconvdata/testdata/MSZ_7795.3 [new file with mode: 0644]
iconvdata/testdata/MSZ_7795.3..UTF8 [new file with mode: 0644]
iconvdata/testdata/NC_NC00-10 [new file with mode: 0644]
iconvdata/testdata/NC_NC00-10..UTF8 [new file with mode: 0644]
iconvdata/testdata/NF_Z_62-010 [new file with mode: 0644]
iconvdata/testdata/NF_Z_62-010..UTF8 [new file with mode: 0644]
iconvdata/testdata/NF_Z_62-010_1973 [new file with mode: 0644]
iconvdata/testdata/NF_Z_62-010_1973..UTF8 [new file with mode: 0644]
iconvdata/testdata/NS_4551-1 [new file with mode: 0644]
iconvdata/testdata/NS_4551-1..UTF8 [new file with mode: 0644]
iconvdata/testdata/NS_4551-2 [new file with mode: 0644]
iconvdata/testdata/NS_4551-2..UTF8 [new file with mode: 0644]
iconvdata/testdata/PT [new file with mode: 0644]
iconvdata/testdata/PT..UTF8 [new file with mode: 0644]
iconvdata/testdata/PT2 [new file with mode: 0644]
iconvdata/testdata/PT2..UTF8 [new file with mode: 0644]
iconvdata/testdata/SEN_850200_B [new file with mode: 0644]
iconvdata/testdata/SEN_850200_B..UTF8 [new file with mode: 0644]
iconvdata/testdata/SEN_850200_C [new file with mode: 0644]
iconvdata/testdata/SEN_850200_C..UTF8 [new file with mode: 0644]
iconvdata/uhc.c
io/ftw.h
localedata/locales/pt_BR
posix/Makefile
stdio-common/vfscanf.c
stdio/stdio.h
sysdeps/gnu/utmp_file.c
sysdeps/mach/hurd/Makefile
sysdeps/mach/hurd/bits/dirent.h [new file with mode: 0644]
sysdeps/mach/hurd/readdir64.c [new file with mode: 0644]
sysdeps/mach/hurd/readdir64_r.c [new file with mode: 0644]

index d8c3631b918fe34be709544977bf717f070488ef..2086314328a94fa741caeeb5cdb0db440162fcd5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,232 @@
+<<<<<<< ChangeLog
+1998-04-23 22:43  Ulrich Drepper  <drepper@cygnus.com>
+
+       * elf/dl-load.c (fillin_rpath): Handle empty element returned by
+       strsep as current directory.
+
+       * iconv/gconv_builtin.h: Add aliases unicode and unicodebig for
+       Java.  Add definitions for unicodelittle implementation.
+       * iconv/gconv_int.h: Add declaration for unicodelittle functions.
+       * iconv/gconv_simple.c: Define unicodelittle functions.
+
+       * iconv/iconv_prog.c: Make program print information about position
+       of illegal character in input.
+
+       * iconv/skeleton.c: Use __strcasecmp instead of __strcasestr for
+       comparison of charset name.
+       * iconvdata/big5.c (CHARSET_NAME): Adapt for this.
+       * iconvdata/ebcdic-at-de-a.c: Likewise.
+       * iconvdata/ebcdic-at-de.c: Likewise.
+       * iconvdata/ebcdic-ca-fr.c: Likewise.
+       * iconvdata/euccn.c: Likewise.
+       * iconvdata/eucjp.c: Likewise.
+       * iconvdata/euckr.c: Likewise.
+       * iconvdata/euctw.c: Likewise.
+       * iconvdata/hp-roman8.c: Likewise.
+       * iconvdata/iso6937.c: Likewise.
+       * iconvdata/iso8859-1.c: Likewise.
+       * iconvdata/iso8859-10.c: Likewise.
+       * iconvdata/iso8859-2.c: Likewise.
+       * iconvdata/iso8859-3.c: Likewise.
+       * iconvdata/iso8859-4.c: Likewise.
+       * iconvdata/iso8859-5.c: Likewise.
+       * iconvdata/iso8859-6.c: Likewise.
+       * iconvdata/iso8859-7.c: Likewise.
+       * iconvdata/iso8859-8.c: Likewise.
+       * iconvdata/iso8859-9.c: Likewise.
+       * iconvdata/johab.c: Likewise.
+       * iconvdata/koi-8.c: Likewise.
+       * iconvdata/koi8-r.c: Likewise.
+       * iconvdata/latin-greek-1.c: Likewise.
+       * iconvdata/latin-greek.c: Likewise.
+       * iconvdata/sjis.c: Likewise.
+       * iconvdata/t61.c: Likewise.
+       * iconvdata/uhc.c: Likewise.
+
+       * iconvdata/iso646.c: Add support for more ISO 646 variants.
+       * iconvdata/TESTS: Add tests for ISO646 module.
+       * iconvdata/gconv-modules: Add new modules.
+       * iconvdata/testdate/CSA_Z243.4-1985-1: New tests for ISO646 module.
+       * iconvdata/testdate/CSA_Z243.4-1985-1..UCS2: Likewise.
+       * iconvdata/testdate/CSA_Z243.4-1985-2: Likewise.
+       * iconvdata/testdate/CSA_Z243.4-1985-2..UCS4: Likewise.
+       * iconvdata/testdate/DIN_66003: Likewise.
+       * iconvdata/testdate/DIN_66003..UTF8: Likewise.
+       * iconvdata/testdate/DS_2089: Likewise.
+       * iconvdata/testdate/DS_2089..UTF8: Likewise.
+       * iconvdata/testdate/ES: Likewise.
+       * iconvdata/testdate/ES..UTF8: Likewise.
+       * iconvdata/testdate/ES2: Likewise.
+       * iconvdata/testdate/ES2..UTF8: Likewise.
+       * iconvdata/testdate/GB_1988-80: Likewise.
+       * iconvdata/testdate/GB_1988-80..UTF8: Likewise.
+       * iconvdata/testdate/IT: Likewise.
+       * iconvdata/testdate/IT..UTF8: Likewise.
+       * iconvdata/testdate/JIS_C6220-1969-RO: Likewise.
+       * iconvdata/testdate/JIS_C6220-1969-RO..UTF8: Likewise.
+       * iconvdata/testdate/JIS_C6229-1984-B: Likewise.
+       * iconvdata/testdate/JIS_C6229-1984-B..UTF8: Likewise.
+       * iconvdata/testdate/JUS_I.B1.002: Likewise.
+       * iconvdata/testdate/JUS_I.B1.002..UTF8: Likewise.
+       * iconvdata/testdate/KSC5636: Likewise.
+       * iconvdata/testdate/KSC5636..UTF8: Likewise.
+       * iconvdata/testdate/MSZ_7795.3: Likewise.
+       * iconvdata/testdate/MSZ_7795.3..UTF8: Likewise.
+       * iconvdata/testdate/NC_NC00-10: Likewise.
+       * iconvdata/testdate/NC_NC00-10..UTF8: Likewise.
+       * iconvdata/testdate/NF_Z_62-010: Likewise.
+       * iconvdata/testdate/NF_Z_62-010..UTF8: Likewise.
+       * iconvdata/testdate/NF_Z_62-010_1973: Likewise.
+       * iconvdata/testdate/NF_Z_62-010_1973..UTF8: Likewise.
+       * iconvdata/testdate/NS_4551-1: Likewise.
+       * iconvdata/testdate/NS_4551-1..UTF8: Likewise.
+       * iconvdata/testdate/NS_4551-2: Likewise.
+       * iconvdata/testdate/NS_4551-2..UTF8: Likewise.
+       * iconvdata/testdate/PT: Likewise.
+       * iconvdata/testdate/PT..UTF8: Likewise.
+       * iconvdata/testdate/PT2: Likewise.
+       * iconvdata/testdate/PT2..UTF8: Likewise.
+       * iconvdata/testdate/SEN_850200_B: Likewise.
+       * iconvdata/testdate/SEN_850200_B..UTF8: Likewise.
+       * iconvdata/testdate/SEN_850200_C: Likewise.
+       * iconvdata/testdate/SEN_850200_C..UTF8: Likewise.
+
+       * iconvdata/cns11643.h: Use uint32_t instead of wchar_t.
+       * iconvdata/cns11643l1.h: Likewise.
+       * iconvdata/latin-greek-1.h: Likewise.
+       * iconvdata/latin-greek.h: Likewise.
+       * iconvdata/koi8-r.h: Likewise.
+       * iconvdata/jis0212.h: Likewise.
+       * iconvdata/gb2312.h: Likewise.
+       * iconvdata/ksc5601.h: Likewise.
+
+       * iconvdata/8bit-gap.c: Use 32 bit type for idx element of struct gap.
+
+       * iconvdata/Makefile: Add rules for lots of more modules.
+       * iconvdata/cp1250.c: New file.
+       * iconvdata/cp1251.c: New file.
+       * iconvdata/cp1252.c: New file.
+       * iconvdata/cp1253.c: New file.
+       * iconvdata/cp1254.c: New file.
+       * iconvdata/cp1255.c: New file.
+       * iconvdata/cp1256.c: New file.
+       * iconvdata/cp1257.c: New file.
+       * iconvdata/ebcdic-dk-no-a.c: New file.
+       * iconvdata/ebcdic-dk-no.c: New file.
+       * iconvdata/ebcdic-es-a.c: New file.
+       * iconvdata/ebcdic-es-s.c: New file.
+       * iconvdata/ebcdic-es.c: New file.
+       * iconvdata/ebcdic-fi-se-a.c: New file.
+       * iconvdata/ebcdic-fi-se.c: New file.
+       * iconvdata/ebcdic-fr.c: New file.
+       * iconvdata/ebcdic-is-friss.c: New file.
+       * iconvdata/ebcdic-it.c: New file.
+       * iconvdata/ebcdic-pt.c: New file.
+       * iconvdata/ebcdic-uk.c: New file.
+       * iconvdata/ebcdic-us.c: New file.
+       * iconvdata/ibm037.c: New file.
+       * iconvdata/ibm038.c: New file.
+       * iconvdata/ibm1004.c: New file.
+       * iconvdata/ibm1026.c: New file.
+       * iconvdata/ibm1047.c: New file.
+       * iconvdata/ibm256.c: New file.
+       * iconvdata/ibm273.c: New file.
+       * iconvdata/ibm274.c: New file.
+       * iconvdata/ibm275.c: New file.
+       * iconvdata/ibm277.c: New file.
+       * iconvdata/ibm278.c: New file.
+       * iconvdata/ibm280.c: New file.
+       * iconvdata/ibm281.c: New file.
+       * iconvdata/ibm284.c: New file.
+       * iconvdata/ibm285.c: New file.
+       * iconvdata/ibm290.c: New file.
+       * iconvdata/ibm297.c: New file.
+       * iconvdata/ibm420.c: New file.
+       * iconvdata/ibm423.c: New file.
+       * iconvdata/ibm424.c: New file.
+       * iconvdata/ibm437.c: New file.
+       * iconvdata/ibm500.c: New file.
+       * iconvdata/ibm850.c: New file.
+       * iconvdata/ibm851.c: New file.
+       * iconvdata/ibm852.c: New file.
+       * iconvdata/ibm855.c: New file.
+       * iconvdata/ibm857.c: New file.
+       * iconvdata/ibm860.c: New file.
+       * iconvdata/ibm861.c: New file.
+       * iconvdata/ibm862.c: New file.
+       * iconvdata/ibm863.c: New file.
+       * iconvdata/ibm864.c: New file.
+       * iconvdata/ibm865.c: New file.
+       * iconvdata/ibm868.c: New file.
+       * iconvdata/ibm869.c: New file.
+       * iconvdata/ibm870.c: New file.
+       * iconvdata/ibm871.c: New file.
+       * iconvdata/ibm875.c: New file.
+       * iconvdata/ibm880.c: New file.
+       * iconvdata/ibm891.c: New file.
+       * iconvdata/ibm903.c: New file.
+       * iconvdata/ibm904.c: New file.
+       * iconvdata/ibm905.c: New file.
+       * iconvdata/ibm918.c: New file.
+
+       * locale/iso-4217.def: Update.
+       * localedata/locales/pt_BR: Correct.  Patches by Andreas Jaeger.
+
+       * stdio-common/vfscanf.h: Recognize nan and inf in floating-point
+       formats.
+
+1998-04-22  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * elf/dl-load.c (_dl_init_paths): ';' is also a terminal for
+       LD_LIBRARY_PATH.
+
+1998-04-22  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * Makerules: Change occurances of `cd dir; cmd' to `cd dir && cmd'.
+       * Makefile: Likewise.
+       * posix/Makefile: Likewise.
+       * sysdeps/mach/hurd/Makefile: Likewise.
+
+1998-04-22  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * sysdeps/mach/hurd/bits/dirent.h: New file.
+       * sysdeps/mach/hurd/readdir64.c: New file.
+       * sysdeps/mach/hurd/readdir64_r.c: New file.
+
+1998-04-21  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * stdio/stdio.h (vasprintf, __asprintf, asprintf, vdprintf,
+       dprintf): Synchronize declarations with libio/stdio.h.
+
+1998-04-21  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * elf/dlerror.c (dlerror): Don't assume that
+       __libc_internal_tsd_get is defined.  __libc_getspecific is already
+       well-protected, so just use it directly.
+
+1998-04-22  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * io/ftw.h (ftw): Fix typo.
+
+1998-04-21  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * sysdeps/gnu/utmp_file.c: Fix typo.
+
+1998-04-22 11:06  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * iconvdata/run-iconv-test.sh: Fix more portability bugs.  When
+       one part of a test fails move on to the next test.
+
 1998-04-24  5:45  Richard Henderson  <rth@cygnus.com>
 
        * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
 
-Wed Apr 22 11:06:09 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+1998-04-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Compare addresses
+       as pointers, not signed integers.
+
+1998-04-22 11:06  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
 
index 86e892f87422fed07645d6b39b2e99db705ba844..80cced4d4a06196d9388a3ad9d335f38ca767cd2 100644 (file)
@@ -158,6 +158,8 @@ __BUILTIN_TRANS (__gconv_transform_utf8_internal);
 __BUILTIN_TRANS (__gconv_transform_internal_utf8);
 __BUILTIN_TRANS (__gconv_transform_ucs2_internal);
 __BUILTIN_TRANS (__gconv_transform_internal_ucs2);
+__BUILTIN_TRANS (__gconv_transform_ucs2little_internal);
+__BUILTIN_TRANS (__gconv_transform_internal_ucs2little);
 __BUILTIN_TRANS (__gconv_transform_internal_ucs4);
 # undef __BUITLIN_TRANS
 
index 95b4a66daf1d36ac3c8bf96da5ba0c565a8ff24b..c491c97ccd892a69224e15108f915efb1aefda65 100644 (file)
@@ -418,3 +418,68 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
 #endif
 #include <iconv/loop.c>
 #include <iconv/skeleton.c>
+
+
+/* Convert from UCS2 in little endian to the internal (UCS4-like) format.  */
+#define DEFINE_INIT            0
+#define DEFINE_FINI            0
+#define MIN_NEEDED_FROM                2
+#define MIN_NEEDED_TO          4
+#define FROM_DIRECTION         1
+#define FROM_LOOP              ucs2little_internal_loop
+#define TO_LOOP                        ucs2little_internal_loop /* This is not used.*/
+#define FUNCTION_NAME          __gconv_transform_ucs2little_internal
+
+#define MIN_NEEDED_INPUT       MIN_NEEDED_FROM
+#define MIN_NEEDED_OUTPUT      MIN_NEEDED_TO
+#define LOOPFCT                        FROM_LOOP
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define BODY \
+  *((uint32_t *) outptr)++ = *((uint16_t *) inptr)++;
+#else
+# define BODY \
+  *((uint32_t *) outptr)++ = bswap_16 (*((uint16_t *) inptr)++);
+#endif
+#include <iconv/loop.c>
+#include <iconv/skeleton.c>
+
+
+/* Convert from the internal (UCS4-like) format to UCS2 in little endian.  */
+#define DEFINE_INIT            0
+#define DEFINE_FINI            0
+#define MIN_NEEDED_FROM                4
+#define MIN_NEEDED_TO          2
+#define FROM_DIRECTION         1
+#define FROM_LOOP              internal_ucs2little_loop
+#define TO_LOOP                        internal_ucs2little_loop /* This is not used.*/
+#define FUNCTION_NAME          __gconv_transform_internal_ucs2little
+
+#define MIN_NEEDED_INPUT       MIN_NEEDED_FROM
+#define MIN_NEEDED_OUTPUT      MIN_NEEDED_TO
+#define LOOPFCT                        FROM_LOOP
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define BODY \
+  {                                                                          \
+    if (*((uint32_t *) inptr) >= 0x10000)                                    \
+      {                                                                              \
+       result = GCONV_ILLEGAL_INPUT;                                         \
+       break;                                                                \
+      }                                                                              \
+    *((uint16_t *) outptr)++ = *((uint32_t *) inptr)++;                              \
+  }
+#else
+# define BODY \
+  {                                                                          \
+    if (*((uint32_t *) inptr) >= 0x10000)                                    \
+      {                                                                              \
+       result = GCONV_ILLEGAL_INPUT;                                         \
+       break;                                                                \
+      }                                                                              \
+    /* Please note that we use the `uint32_t' from-pointer as an `uint16_t'   \
+       pointer which works since we are on a little endian machine.  */              \
+    *((uint16_t *) outptr)++ = bswap_16 (*((uint16_t *) inptr));             \
+    inptr += 4;                                                                      \
+  }
+#endif
+#include <iconv/loop.c>
+#include <iconv/skeleton.c>
index 2452a88c5e72e3deabbeade20c0efe40e3d72b96..5a08a21819ec59c3a8d98639806d29d0d100ff20 100644 (file)
@@ -298,6 +298,7 @@ static int
 process_block (iconv_t cd, const char *addr, size_t len, FILE *output)
 {
 #define OUTBUF_SIZE    32768
+  const char *start = addr;
   char outbuf[OUTBUF_SIZE];
   char *outptr;
   size_t outlen;
@@ -332,7 +333,8 @@ conversion stopped due to problem in writing the output"));
          switch (errno)
            {
            case EILSEQ:
-             error (0, 0, _("illegal input sequence"));
+             error (0, 0, _("illegal input sequence at position %ld"),
+                    addr - start);
              break;
            case EINVAL:
              error (0, 0, _("\
@@ -448,7 +450,7 @@ insert_print_list (const void *nodep, VISIT value, int level)
   if (value == leaf || value == postorder)
     {
       const struct gconv_alias *s = *(const struct gconv_alias **) nodep;
-      tsearch (s->fromname, &printlist, (__compar_fn_t) strcoll);
+      tsearch (s->fromname, &printlist, (__compar_fn_t) strverscmp);
     }
 }
 
@@ -487,7 +489,7 @@ do_print  (const void *nodep, VISIT value, int level)
            }
        }
       else
-         not_first = 1;
+       not_first = 1;
 
       fwrite (s, len, 1, stdout);
       column += len;
index 8421941a1e849fdfe198adc06d3c380b026c1d78..78f584e9fe6f5fcfbffd2f5fee4da67370953a61 100644 (file)
@@ -137,9 +137,9 @@ int
 gconv_init (struct gconv_step *step)
 {
   /* Determine which direction.  */
-  if (__strcasestr (step->from_name, CHARSET_NAME) != NULL)
+  if (__strcasecmp (step->from_name, CHARSET_NAME) == 0)
     step->data = &from_object;
-  else if (__strcasestr (step->to_name, CHARSET_NAME) != NULL)
+  else if (__strcasecmp (step->to_name, CHARSET_NAME) == 0)
     step->data = &to_object;
   else
     return GCONV_NOCONV;
index 4065a6d777098d2bbb71bf497ae037ba1610db12..137a61b04719f7284bd564c290087c78a36cea14 100644 (file)
@@ -25,7 +25,7 @@ struct gap
 {
   uint16_t start;
   uint16_t end;
-  int16_t idx;
+  int32_t idx;
 };
 
 /* Now we can include the tables.  */
index d8fda78330267b0a2e5a5dbd1f6bb66c3ef0bd6d..45d5dad936a211883203797f1361463539c95535 100644 (file)
 subdir := iconvdata
 
 # Names of all the shared objects which implement the transformations.
-modules        := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5            \
-          ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10           \
-          T.61 ISO_6937 SJIS KOI-8 KOI8-R LATIN-GREEK LATIN-GREEK-1    \
-          HP-ROMAN8 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
+modules        := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5             \
+          ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10            \
+          T.61 ISO_6937 SJIS KOI-8 KOI8-R LATIN-GREEK LATIN-GREEK-1     \
+          HP-ROMAN8 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 IBM256 IBM273 IBM274 IBM275 IBM277    \
+          IBM278 IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420       \
+          IBM423 IBM424 IBM437 IBM500 IBM850 IBM851 IBM852 IBM855       \
+          IBM857 IBM860 IBM861 IBM862 IBM863 IBM864 IBM865 IBM868       \
+          IBM869 IBM870 IBM871 IBM875 IBM880 IBM891 IBM903 IBM904       \
+          IBM905 IBM918 IBM1004 IBM1026 IBM1047 CP1250 CP1251 CP1252    \
+          CP1253 CP1254 CP1255 CP1256 CP1257
 modules.so := $(addsuffix .so, $(modules))
 
 
@@ -55,6 +64,71 @@ HP-ROMAN8-routines := hp-roman8
 EBCDIC-AT-DE-routines := ebcdic-at-de
 EBCDIC-AT-DE-A-routines := ebcdic-at-de-a
 EBCDIC-CA-FR-routines := ebcdic-ca-fr
+EBCDIC-DK-NO-routines := ebcdic-dk-no
+EBCDIC-DK-NO-A_routines := ebcdic-dk-no-a
+EBCDIC-ES-routines := ebcdic-es
+EBCDIC-ES-A-routines := ebcdic-es-a
+EBCDIC-ES-S-routines := ebcdic-es-s
+EBCDIC-FI-SE-routines := ebcdic-fi-se
+EBCDIC-FI-SE-A-routines := ebcdic-fi-se-a
+EBCDIC-FR-routines := ebcdic-fr
+EBCDIC-IS-FRISS-routines := ebcdic-is-friss
+EBCDIC-IT-routines := ebcdic-it
+EBCDIC-PT-routines := ebcdic-pt
+EBCDIC-UK-routines := ebcdic-uk
+EBCDIC-US-routines := ebcdic-us
+IBM037-routines := ibm037
+IBM038-routines := ibm038
+IBM256-routines := ibm256
+IBM273-routines := ibm273
+IBM274-routines := ibm274
+IBM275-routines := ibm275
+IBM277-routines := ibm277
+IBM278-routines := ibm278
+IBM280-routines := ibm280
+IBM281-routines := ibm281
+IBM284-routines := ibm284
+IBM285-routines := ibm285
+IBM290-routines := ibm290
+IBM297-routines := ibm297
+IBM420-routines := ibm420
+IBM423-routines := ibm423
+IBM424-routines := ibm424
+IBM437-routines := ibm437
+IBM500-routines := ibm500
+IBM850-routines := ibm850
+IBM851-routines := ibm851
+IBM852-routines := ibm852
+IBM855-routines := ibm855
+IBM857-routines := ibm857
+IBM860-routines := ibm860
+IBM861-routines := ibm861
+IBM862-routines := ibm862
+IBM863-routines := ibm863
+IBM864-routines := ibm864
+IBM865-routines := ibm865
+IBM868-routines := ibm868
+IBM869-routines := ibm869
+IBM870-routines := ibm870
+IBM871-routines := ibm871
+IBM875-routines := ibm875
+IBM880-routines := ibm880
+IBM891-routines := ibm891
+IBM903-routines := ibm903
+IBM904-routines := ibm904
+IBM905-routines := ibm905
+IBM918-routines := ibm918
+IBM1004-routines := ibm1004
+IBM1026-routines := ibm1026
+IBM1047-routines := ibm1047
+CP1250-routines := cp1250
+CP1251-routines := cp1251
+CP1252-routines := cp1252
+CP1253-routines := cp1253
+CP1254-routines := cp1254
+CP1255-routines := cp1255
+CP1256-routines := cp1256
+CP1257-routines := cp1257
 EUC-KR-routines := euckr
 JOHAB-routines := johab
 UHC-routines := uhc
@@ -95,7 +169,19 @@ distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl gconv-modules          \
              extra-module.mk euckr.c johab.c uhc.c ksc5601.c ksc5601.h     \
              iso646.c big5.c eucjp.c gb2312.c gb2312.h euccn.c euctw.c     \
              cns11643l1.c cns11643l1.h cns11643.h cns11643.c               \
-             run-iconv-test.sh $(wildcard testdata/*)
+             run-iconv-test.sh $(wildcard testdata/*) ebcdic-dk-no.c       \
+             ebcdic-dk-no-a.c ebcdic-es.c ebcdic-es-a.c ebcdic-es-s.c      \
+             ebcdic-fi-se.c ebcdic-fi-se-a.c ebcdic-fr.c ebcdic-is-friss.c \
+             ebcdic-it.c ebcdic-pt.c ebcdic-uk.c ebcdic-us.c ibm037.c      \
+             ibm038.c ibm256.c ibm273.c ibm274.c ibm275.c ibm277.c         \
+             ibm278.c ibm280.c ibm281.c ibm284.c ibm285.c ibm290.c         \
+             ibm297.c ibm420.c ibm423.c ibm424.c ibm437.c ibm500.c         \
+             ibm850.c ibm851.c ibm852.c ibm855.c ibm857.c ibm860.c         \
+             ibm861.c ibm862.c ibm863.c ibm864.c ibm865.c ibm868.c         \
+             ibm869.c ibm870.c ibm871.c ibm875.c ibm880.c ibm891.c         \
+             ibm903.c ibm904.c ibm905.c ibm918.c ibm1004.c ibm1026.c       \
+             ibm1047.c cp1250.c cp1251.c cp1252.c cp1253.c cp1254.c        \
+             cp1255.c cp1256.c cp1257.c
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
@@ -124,7 +210,7 @@ install-others      = $(addprefix $(inst_gconvdir)/, $(modules.so)) \
 # If we have the localedata add-on available we can build the conversion
 # tables for numerous charsets.
 define generate-8bit-table
-( echo "static const wchar_t to_ucs4[256] = {"; \
+( echo "static const uint32_t to_ucs4[256] = {"; \
   sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/  [0x\1] = 0x\2,/p' -e d $^ | sort -u; \
   echo "};"; \
   echo "static const char from_ucs4[] = {"; \
@@ -135,10 +221,17 @@ endef
 sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-5.h \
                         iso8859-6.h iso8859-7.h iso8859-8.h iso8859-9.h \
                         iso8859-10.h koi-8.h hp-roman8.h ebcdic-at-de.h \
-                        ebcdic-at-de-a.h ebcdic-ca-fr.h
+                        ebcdic-at-de-a.h ebcdic-ca-fr.h ebcdic-dk-no.h  \
+                        ebcdic-dk-no-a.h ebcdic-es.h ebcdic-es-a.h      \
+                        ebcdic-es-s.h ebcdic-fi-se.h ebcdic-fi-se-a.h   \
+                        ebcdic-fr.h ebcdic-is-friss.h ebcdic-it.h       \
+                        ebcdic-pt.h ebcdic-uk.h ebcdic-us.h ibm037.h    \
+                        ibm038.h ibm274.h ibm275.h ibm423.h ibm424.h    \
+                        ibm500.h ibm870.h ibm871.h ibm891.h ibm903.h    \
+                        ibm904.h ibm905.h ibm1047.h
 
 define generate-8bit-gap-table
-( echo "static const wchar_t to_ucs4[256] = {"; \
+( echo "static const uint32_t to_ucs4[256] = {"; \
   sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/  [0x\1] = 0x\2,/p' -e d $^ | sort -u; \
   echo "};"; \
   echo "static struct gap from_idx[] = {"; \
@@ -150,7 +243,15 @@ define generate-8bit-gap-table
   echo "};" ) > $@.new && rm -f $@ && mv $@.new $@
 endef
 
-perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h
+perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h        \
+                         ibm256.h ibm273.h ibm277.h ibm278.h ibm280.h   \
+                         ibm281.h ibm284.h ibm285.h ibm290.h ibm297.h   \
+                         ibm420.h ibm437.h ibm850.h ibm851.h ibm852.h   \
+                         ibm855.h ibm857.h ibm860.h ibm861.h ibm862.h   \
+                         ibm863.h ibm864.h ibm865.h ibm868.h ibm869.h   \
+                         ibm875.h ibm880.h ibm918.h ibm1004.h ibm1026.h \
+                         cp1250.h cp1251.h cp1252.h cp1253.h cp1254.h   \
+                         cp1255.h cp1256.h cp1257.h
 
 # The headers must be generated before the compilation.
 before-compile = $(sed-generated-headers) $(perl-generated-headers)
@@ -188,6 +289,58 @@ ebcdic-at-de-a.h: ../localedata/charmaps/EBCDIC-AT-DE-A Makefile
        $(generate-8bit-table)
 ebcdic-ca-fr.h: ../localedata/charmaps/EBCDIC-CA-FR Makefile
        $(generate-8bit-table)
+ebcdic-dk-no.h: ../localedata/charmaps/EBCDIC-DK-NO Makefile
+       $(generate-8bit-table)
+ebcdic-dk-no-a.h: ../localedata/charmaps/EBCDIC-DK-NO-A Makefile
+       $(generate-8bit-table)
+ebcdic-es.h: ../localedata/charmaps/EBCDIC-ES Makefile
+       $(generate-8bit-table)
+ebcdic-es-a.h: ../localedata/charmaps/EBCDIC-ES-A Makefile
+       $(generate-8bit-table)
+ebcdic-es-s.h: ../localedata/charmaps/EBCDIC-ES-S Makefile
+       $(generate-8bit-table)
+ebcdic-fi-se.h: ../localedata/charmaps/EBCDIC-FI-SE Makefile
+       $(generate-8bit-table)
+ebcdic-fi-se-a.h: ../localedata/charmaps/EBCDIC-FI-SE-A Makefile
+       $(generate-8bit-table)
+ebcdic-fr.h: ../localedata/charmaps/EBCDIC-FR Makefile
+       $(generate-8bit-table)
+ebcdic-is-friss.h: ../localedata/charmaps/EBCDIC-IS-FRISS Makefile
+       $(generate-8bit-table)
+ebcdic-it.h: ../localedata/charmaps/EBCDIC-IT Makefile
+       $(generate-8bit-table)
+ebcdic-pt.h: ../localedata/charmaps/EBCDIC-PT Makefile
+       $(generate-8bit-table)
+ebcdic-uk.h: ../localedata/charmaps/EBCDIC-UK Makefile
+       $(generate-8bit-table)
+ebcdic-us.h: ../localedata/charmaps/EBCDIC-US Makefile
+       $(generate-8bit-table)
+ibm037.h: ../localedata/charmaps/IBM037 Makefile
+       $(generate-8bit-table)
+ibm038.h: ../localedata/charmaps/IBM038 Makefile
+       $(generate-8bit-table)
+ibm274.h: ../localedata/charmaps/IBM274 Makefile
+       $(generate-8bit-table)
+ibm275.h: ../localedata/charmaps/IBM275 Makefile
+       $(generate-8bit-table)
+ibm423.h: ../localedata/charmaps/IBM423 Makefile
+       $(generate-8bit-table)
+ibm500.h: ../localedata/charmaps/IBM500 Makefile
+       $(generate-8bit-table)
+ibm870.h: ../localedata/charmaps/IBM870 Makefile
+       $(generate-8bit-table)
+ibm871.h: ../localedata/charmaps/IBM871 Makefile
+       $(generate-8bit-table)
+ibm891.h: ../localedata/charmaps/IBM891 Makefile
+       $(generate-8bit-table)
+ibm903.h: ../localedata/charmaps/IBM903 Makefile
+       $(generate-8bit-table)
+ibm904.h: ../localedata/charmaps/IBM904 Makefile
+       $(generate-8bit-table)
+ibm905.h: ../localedata/charmaps/IBM905 Makefile
+       $(generate-8bit-table)
+ibm1047.h: ../localedata/charmaps/IBM1047 Makefile
+       $(generate-8bit-table)
 
 ifneq ($(PERL),no)
 koi8-r.h: ../localedata/charmaps/KOI8-R Makefile
@@ -196,6 +349,84 @@ latin-greek.h: ../localedata/charmaps/LATIN-GREEK Makefile
        $(generate-8bit-gap-table)
 latin-greek-1.h: ../localedata/charmaps/LATIN-GREEK-1 Makefile
        $(generate-8bit-gap-table)
+ibm256.h: ../localedata/charmaps/IBM256 Makefile
+       $(generate-8bit-gap-table)
+ibm273.h: ../localedata/charmaps/IBM273 Makefile
+       $(generate-8bit-gap-table)
+ibm277.h: ../localedata/charmaps/IBM277 Makefile
+       $(generate-8bit-gap-table)
+ibm278.h: ../localedata/charmaps/IBM278 Makefile
+       $(generate-8bit-gap-table)
+ibm280.h: ../localedata/charmaps/IBM280 Makefile
+       $(generate-8bit-gap-table)
+ibm281.h: ../localedata/charmaps/IBM281 Makefile
+       $(generate-8bit-gap-table)
+ibm284.h: ../localedata/charmaps/IBM284 Makefile
+       $(generate-8bit-gap-table)
+ibm285.h: ../localedata/charmaps/IBM285 Makefile
+       $(generate-8bit-gap-table)
+ibm290.h: ../localedata/charmaps/IBM290 Makefile
+       $(generate-8bit-gap-table)
+ibm297.h: ../localedata/charmaps/IBM297 Makefile
+       $(generate-8bit-gap-table)
+ibm420.h: ../localedata/charmaps/IBM420 Makefile
+       $(generate-8bit-gap-table)
+ibm424.h: ../localedata/charmaps/IBM424 Makefile
+       $(generate-8bit-gap-table)
+ibm437.h: ../localedata/charmaps/IBM437 Makefile
+       $(generate-8bit-gap-table)
+ibm850.h: ../localedata/charmaps/IBM850 Makefile
+       $(generate-8bit-gap-table)
+ibm851.h: ../localedata/charmaps/IBM851 Makefile
+       $(generate-8bit-gap-table)
+ibm852.h: ../localedata/charmaps/IBM852 Makefile
+       $(generate-8bit-gap-table)
+ibm855.h: ../localedata/charmaps/IBM855 Makefile
+       $(generate-8bit-gap-table)
+ibm857.h: ../localedata/charmaps/IBM857 Makefile
+       $(generate-8bit-gap-table)
+ibm860.h: ../localedata/charmaps/IBM860 Makefile
+       $(generate-8bit-gap-table)
+ibm861.h: ../localedata/charmaps/IBM861 Makefile
+       $(generate-8bit-gap-table)
+ibm862.h: ../localedata/charmaps/IBM862 Makefile
+       $(generate-8bit-gap-table)
+ibm863.h: ../localedata/charmaps/IBM863 Makefile
+       $(generate-8bit-gap-table)
+ibm864.h: ../localedata/charmaps/IBM864 Makefile
+       $(generate-8bit-gap-table)
+ibm865.h: ../localedata/charmaps/IBM865 Makefile
+       $(generate-8bit-gap-table)
+ibm868.h: ../localedata/charmaps/IBM868 Makefile
+       $(generate-8bit-gap-table)
+ibm869.h: ../localedata/charmaps/IBM869 Makefile
+       $(generate-8bit-gap-table)
+ibm875.h: ../localedata/charmaps/IBM875 Makefile
+       $(generate-8bit-gap-table)
+ibm880.h: ../localedata/charmaps/IBM880 Makefile
+       $(generate-8bit-gap-table)
+ibm918.h: ../localedata/charmaps/IBM918 Makefile
+       $(generate-8bit-gap-table)
+ibm1004.h: ../localedata/charmaps/IBM1004 Makefile
+       $(generate-8bit-gap-table)
+ibm1026.h: ../localedata/charmaps/IBM1026 Makefile
+       $(generate-8bit-gap-table)
+cp1250.h: ../localedata/charmaps/CP1250 Makefile
+       $(generate-8bit-gap-table)
+cp1251.h: ../localedata/charmaps/CP1251 Makefile
+       $(generate-8bit-gap-table)
+cp1252.h: ../localedata/charmaps/CP1252 Makefile
+       $(generate-8bit-gap-table)
+cp1253.h: ../localedata/charmaps/CP1253 Makefile
+       $(generate-8bit-gap-table)
+cp1254.h: ../localedata/charmaps/CP1254 Makefile
+       $(generate-8bit-gap-table)
+cp1255.h: ../localedata/charmaps/CP1255 Makefile
+       $(generate-8bit-gap-table)
+cp1256.h: ../localedata/charmaps/CP1256 Makefile
+       $(generate-8bit-gap-table)
+cp1257.h: ../localedata/charmaps/CP1257 Makefile
+       $(generate-8bit-gap-table)
 endif
 
 headers: $(sed-generated-headers) $(perl-generated-headers)
index b4c95057c8124b842e3278ec5ec732a7faca412f..d18a80829096f7a60f193678e20930424933ab9b 100644 (file)
 # ...
 # N.  target coded character set.
 
-ISO-8859-1     ISO-8859-1      Y       UTF8
-ISO-8859-2     ISO-8859-2      Y       UCS4 UTF8
-ISO-8859-3     ISO-8859-3      Y       UTF8
-ISO-8859-4     ISO-8859-4      Y       UTF8
-ISO-8859-5     ISO-8859-5      Y       UTF8
-ISO-8859-6     ISO-8859-6      Y       UTF8
-ISO-8859-7     ISO-8859-7      Y       UTF8
-ISO-8859-8     ISO-8859-8      Y       UTF8
-ISO-8859-9     ISO-8859-9      Y       UTF8
-ISO-8859-10    ISO-8859-10     Y       UCS2 UTF8
-ANSI_X3.4-1968 ANSI_X3.4-1968  Y       UTF8
-BS_4730                BS_4730         Y       UTF8
+ISO-8859-1             ISO-8859-1              Y       UTF8
+ISO-8859-2             ISO-8859-2              Y       UCS4 UTF8
+ISO-8859-3             ISO-8859-3              Y       UTF8
+ISO-8859-4             ISO-8859-4              Y       UTF8
+ISO-8859-5             ISO-8859-5              Y       UTF8
+ISO-8859-6             ISO-8859-6              Y       UTF8
+ISO-8859-7             ISO-8859-7              Y       UTF8
+ISO-8859-8             ISO-8859-8              Y       UTF8
+ISO-8859-9             ISO-8859-9              Y       UTF8
+ISO-8859-10            ISO-8859-10             Y       UCS2 UTF8
+ANSI_X3.4-1968         ANSI_X3.4-1968          Y       UTF8
+BS_4730                        BS_4730                 Y       UTF8
+CSA_Z243.4-1985-1      CSA_Z243.4-1985-1       Y       UCS2
+CSA_Z243.4-1985-2      CSA_Z243.4-1985-2       Y       UCS4
+DIN_66003              DIN_66003               Y       UTF8
+DS_2089                        DS_2089                 Y       UTF8
+ES                     ES                      Y       UTF8
+ES2                    ES2                     Y       UTF8
+GB_1988-80             GB_1988-80              Y       UTF8
+IT                     IT                      Y       UTF8
+JIS_C6220-1969-RO      JIS_C6220-1969-RO       Y       UTF8
+JIS_C6229-1984-B       JIS_C6229-1984-B        Y       UTF8
+JUS_I.B1.002           JUS_I.B1.002            Y       UTF8
+KSC5636                        KSC5636                 Y       UTF8
+MSZ_7795.3             MSZ_7795.3              Y       UTF8
+NC_NC00-10             NC_NC00-10              Y       UTF8
+NF_Z_62-010            NF_Z_62-010             Y       UTF8
+NF_Z_62-010_1973       NF_Z_62-010_1973        Y       UTF8
+NS_4551-1              NS_4551-1               Y       UTF8
+NS_4551-2              NS_4551-2               Y       UTF8
+PT                     PT                      Y       UTF8
+PT2                    PT2                     Y       UTF8
+SEN_850200_B           SEN_850200_B            Y       UTF8
+SEN_850200_C           SEN_850200_C            Y       UTF8
index d4d89a04fffea9a162a4811f3e0367d8fea93146..b9ffce69058cd1f61ac192069c53c28e42d03492 100644 (file)
@@ -8412,7 +8412,7 @@ static const char from_ucs4_tab13[][2] =
 
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "BIG5"
+#define CHARSET_NAME           "BIG5//"
 #define FROM_LOOP              from_big5
 #define TO_LOOP                        to_big5
 #define DEFINE_INIT            1
index ccab8011ced05489498f096b7b24a5615f7fb4da..342c8777b605269e98ae06de7eff82284cb75b70 100644 (file)
@@ -25,13 +25,13 @@ extern const uint16_t __cns11643l2_to_ucs4_tab[];
 extern const uint16_t __cns11643l14_to_ucs4_tab[];
 
 
-static inline wchar_t
+static inline uint32_t
 cns11643_to_ucs4 (const char **s, size_t avail, unsigned char offset)
 {
   unsigned char ch = *(*s);
   unsigned char ch2;
   unsigned char ch3;
-  wchar_t result;
+  uint32_t result;
   int idx;
 
   if (ch < offset || (ch - offset) <= 0x20 || (ch - offset) > 0x30)
@@ -99,7 +99,7 @@ extern const char __cns11643_from_ucs4_tab[][3];
 
 
 static inline size_t
-ucs4_to_cns11643 (wchar_t wch, char *s, size_t avail)
+ucs4_to_cns11643 (uint32_t wch, char *s, size_t avail)
 {
   unsigned int ch = (unsigned int) wch;
   char buf[2];
@@ -129,7 +129,7 @@ ucs4_to_cns11643 (wchar_t wch, char *s, size_t avail)
     case 0x2109:
       cp = "\x22\x6b";
       break;
-    case 0x2160 ...0x2169:
+    case 0x2160 ... 0x2169:
       buf[0] = '\x24';
       buf[1] = '\x2b' + (ch - 0x2160);
       break;
@@ -157,6 +157,7 @@ ucs4_to_cns11643 (wchar_t wch, char *s, size_t avail)
       break;
     case 0x2500 ... 0x2642:
       cp = __cns11643l1_from_ucs4_tab9[ch - 0x2500];
+      break;
     case 0x3000 ... 0x3029:
       cp = __cns11643l1_from_ucs4_tab10[ch - 0x3000];
       break;
@@ -199,7 +200,7 @@ ucs4_to_cns11643 (wchar_t wch, char *s, size_t avail)
       cp = "\x22\x64";
       break;
     default:
-      cp = "";
+      return UNKNOWN_10646_CHAR;
     }
 
   if (cp[0] == '\0')
index aa78c26d6c3ac0dd926e3fddc393f1a7ea01ed75..5e5abb76e4b21bd2e5f8224a33dcc0fa2da4f2cf 100644 (file)
@@ -25,7 +25,7 @@
 extern const uint16_t __cns11643l1_to_ucs4_tab[];
 
 
-static inline wchar_t
+static inline uint32_t
 cns11643l1_to_ucs4 (const char **s, size_t avail, unsigned char offset)
 {
   unsigned char ch = *(*s);
@@ -70,7 +70,7 @@ extern const char __cns11643l1_from_ucs4_tab14[][2];
 
 
 static inline size_t
-ucs4_to_cns11643l1 (wchar_t wch, char *s, size_t avail)
+ucs4_to_cns11643l1 (uint32_t wch, char *s, size_t avail)
 {
   unsigned int ch = (unsigned int) wch;
   char buf[2];
@@ -86,8 +86,10 @@ ucs4_to_cns11643l1 (wchar_t wch, char *s, size_t avail)
       break;
     case 0x391 ... 0x3c9:
       cp = __cns11643l1_from_ucs4_tab3[ch - 0x391];
+      break;
     case 0x2013 ... 0x203e:
       cp = __cns11643l1_from_ucs4_tab4[ch - 0x2013];
+      break;
     case 0x2103:
       cp = "\x22\x6a";
       break;
@@ -105,7 +107,7 @@ ucs4_to_cns11643l1 (wchar_t wch, char *s, size_t avail)
       buf[0] = '\x26';
       buf[1] = '\x35' + (ch - 0x2170);
       break;
-    case 0x2190 ...0x2199:
+    case 0x2190 ... 0x2199:
       cp = __cns11643l1_from_ucs4_tab5[ch - 0x2190];
       break;
     case 0x2215 ... 0x2267:
@@ -161,7 +163,7 @@ ucs4_to_cns11643l1 (wchar_t wch, char *s, size_t avail)
       cp = "\x22\x64";
       break;
     default:
-      buf[0] = '\0';
+      return UNKNOWN_10646_CHAR;
     }
 
   if (cp[0] == '\0')
diff --git a/iconvdata/cp1250.c b/iconvdata/cp1250.c
new file mode 100644 (file)
index 0000000..7c9deed
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1250.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1250.h>
+
+#define CHARSET_NAME   "CP1250//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/cp1251.c b/iconvdata/cp1251.c
new file mode 100644 (file)
index 0000000..f3cbcc9
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1251.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1251.h>
+
+#define CHARSET_NAME   "CP1251//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/cp1252.c b/iconvdata/cp1252.c
new file mode 100644 (file)
index 0000000..84eaf0d
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1252.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1252.h>
+
+#define CHARSET_NAME   "CP1252//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/cp1253.c b/iconvdata/cp1253.c
new file mode 100644 (file)
index 0000000..b627394
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1253.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1253.h>
+
+#define CHARSET_NAME   "CP1253//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/cp1254.c b/iconvdata/cp1254.c
new file mode 100644 (file)
index 0000000..aa3b23d
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1254.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1254.h>
+
+#define CHARSET_NAME   "CP1254//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/cp1255.c b/iconvdata/cp1255.c
new file mode 100644 (file)
index 0000000..b9e6ac9
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1255.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1255.h>
+
+#define CHARSET_NAME   "CP1255//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/cp1256.c b/iconvdata/cp1256.c
new file mode 100644 (file)
index 0000000..e7092ab
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1256.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1256.h>
+
+#define CHARSET_NAME   "CP1256//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/cp1257.c b/iconvdata/cp1257.c
new file mode 100644 (file)
index 0000000..8be05bc
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to CP1257.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <cp1257.h>
+
+#define CHARSET_NAME   "CP1257//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
index 654bdf87fd0d7d56079c1af91262eaa65e7302c4..9a6e779ddd329dbc05ed6cbbaf290a1f26368eac 100644 (file)
@@ -23,7 +23,7 @@
 /* Get the conversion table.  */
 #include <ebcdic-at-de-a.h>
 
-#define CHARSET_NAME   "EBCDIC-AT-DE-A"
+#define CHARSET_NAME   "EBCDIC-AT-DE-A//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
index ab718851d9344337e506bda3576872336497f667..ef6c8c0e9f812d4e73cda65a1eb842be0e6fe3e6 100644 (file)
@@ -23,7 +23,7 @@
 /* Get the conversion table.  */
 #include <ebcdic-at-de.h>
 
-#define CHARSET_NAME   "EBCDIC-AT-DE"
+#define CHARSET_NAME   "EBCDIC-AT-DE//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
index 91cf5aa38850502b8135c888478ff7945ef86bb0..8323a83945dd9afef9d3aeee61a2c29e388f68b7 100644 (file)
@@ -23,7 +23,7 @@
 /* Get the conversion table.  */
 #include <ebcdic-ca-fr.h>
 
-#define CHARSET_NAME   "EBCDIC-CA-FR"
+#define CHARSET_NAME   "EBCDIC-CA-FR//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-dk-no-a.c b/iconvdata/ebcdic-dk-no-a.c
new file mode 100644 (file)
index 0000000..771b79c
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-DK-NO-A.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-dk-no-a.h>
+
+#define CHARSET_NAME   "EBCDIC-DK-NO-A//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-dk-no.c b/iconvdata/ebcdic-dk-no.c
new file mode 100644 (file)
index 0000000..9914292
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-DK-NO.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-dk-no.h>
+
+#define CHARSET_NAME   "EBCDIC-DK-NO//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-es-a.c b/iconvdata/ebcdic-es-a.c
new file mode 100644 (file)
index 0000000..5083262
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-ES-A.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-es-a.h>
+
+#define CHARSET_NAME   "EBCDIC-ES-A//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-es-s.c b/iconvdata/ebcdic-es-s.c
new file mode 100644 (file)
index 0000000..74a13b5
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-ES-S.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-es-s.h>
+
+#define CHARSET_NAME   "EBCDIC-ES-S//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-es.c b/iconvdata/ebcdic-es.c
new file mode 100644 (file)
index 0000000..111ebaa
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-ES.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-es.h>
+
+#define CHARSET_NAME   "EBCDIC-ES//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-fi-se-a.c b/iconvdata/ebcdic-fi-se-a.c
new file mode 100644 (file)
index 0000000..d07adc9
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-FI-SE-A.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-fi-se-a.h>
+
+#define CHARSET_NAME   "EBCDIC-FI-SE-A//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-fi-se.c b/iconvdata/ebcdic-fi-se.c
new file mode 100644 (file)
index 0000000..cceb2d6
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-FI-SE.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-fi-se.h>
+
+#define CHARSET_NAME   "EBCDIC-FI-SE//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-fr.c b/iconvdata/ebcdic-fr.c
new file mode 100644 (file)
index 0000000..de646a4
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-FR.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-fr.h>
+
+#define CHARSET_NAME   "EBCDIC-FR//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-is-friss.c b/iconvdata/ebcdic-is-friss.c
new file mode 100644 (file)
index 0000000..ca86744
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-IS-FRISS.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-is-friss.h>
+
+#define CHARSET_NAME   "EBCDIC-IS-FRISS//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-it.c b/iconvdata/ebcdic-it.c
new file mode 100644 (file)
index 0000000..48f26f9
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-IT.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-it.h>
+
+#define CHARSET_NAME   "EBCDIC-IT//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-pt.c b/iconvdata/ebcdic-pt.c
new file mode 100644 (file)
index 0000000..a5d2679
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-PT.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-pt.h>
+
+#define CHARSET_NAME   "EBCDIC-PT//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-uk.c b/iconvdata/ebcdic-uk.c
new file mode 100644 (file)
index 0000000..4a4c85c
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-UK.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-uk.h>
+
+#define CHARSET_NAME   "EBCDIC-UK//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-us.c b/iconvdata/ebcdic-us.c
new file mode 100644 (file)
index 0000000..2f8336e
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to EBCDIC-US.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ebcdic-us.h>
+
+#define CHARSET_NAME   "EBCDIC-US//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
index 90e82cb41e2a7b377f5d7b918272f97bcb5f3513..7ab670f9f559fe9bc737fb85e116bdbb7b588aef 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "EUC-CN"
+#define CHARSET_NAME           "EUC-CN//"
 #define FROM_LOOP              from_euc_cn
 #define TO_LOOP                        to_euc_cn
 #define DEFINE_INIT            1
index 24ebed94ec8ab5495c3000ae353b3cba1ce39145..96e075628ca7fd665427df2b4a97f2b563164799 100644 (file)
@@ -25,7 +25,7 @@
 #include <jis0212.h>
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "EUC-JP"
+#define CHARSET_NAME           "EUC-JP//"
 #define FROM_LOOP              from_euc_jp
 #define TO_LOOP                        to_euc_jp
 #define DEFINE_INIT            1
index 50e4b408380cb7c369f91c2ca172de166ece1b36..51848843d9f82e6300cfb94ad6dde95d251ec066 100644 (file)
@@ -46,7 +46,7 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp)
 
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "EUC-KR"
+#define CHARSET_NAME           "EUC-KR//"
 #define FROM_LOOP              from_euc_kr
 #define TO_LOOP                        to_euc_kr
 #define DEFINE_INIT            1
@@ -70,7 +70,7 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp)
        if (inchar == 0x5c)                                                   \
         ch =  0x20a9;                                                        \
        else if (inchar <= 0x7f)                                                      \
-        ch = (wchar_t) inchar;                                               \
+        ch = (uint32_t) inchar;                                              \
     */                                                                       \
                                                                              \
     if (ch <= 0x7f)                                                          \
index 406dd67f29c5ce9d4934d9e4cb0a8b8c3c6c5c4b..ca1cdac40e7d31f302358ed7ed1b949b9adb4fb9 100644 (file)
@@ -23,7 +23,7 @@
 #include <cns11643.h>
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "EUC-TW"
+#define CHARSET_NAME           "EUC-TW//"
 #define FROM_LOOP              from_euc_tw
 #define TO_LOOP                        to_euc_tw
 #define DEFINE_INIT            1
index df87950436ede70063ad5f114292f4c18a2355cb..5b405a1138bff69cee4bd7ec59597299e20d4a92 100644 (file)
@@ -28,7 +28,7 @@
 extern const uint16_t __gb2312_to_ucs[];
 
 
-static inline wchar_t
+static inline uint32_t
 gb2312_to_ucs4 (const char **s, size_t avail, unsigned char offset)
 {
   unsigned char ch = *(*s);
@@ -66,7 +66,7 @@ extern const char __gb2312_from_ucs4_tab8[][2];
 extern const char __gb2312_from_ucs4_tab9[][2];
 
 static inline size_t
-ucs4_to_gb2312 (wchar_t wch, char *s, size_t avail)
+ucs4_to_gb2312 (uint32_t wch, char *s, size_t avail)
 {
   unsigned int ch = (unsigned int) wch;
   char buf[2];
index d5109dcf2973eda4cd81792e7dcf4283b41d53c5..1648dce5f580dae3f0c965214c0c36eee3297643 100644 (file)
@@ -53,6 +53,137 @@ alias       UK//                    BS_4730//
 module BS_4730//               INTERNAL                ISO646          2
 module INTERNAL                BS_4730//               ISO646          2
 
+alias  ISO-IR-121//            CSA_Z243.4-1985-1//
+alias  ISO646-CA//             CSA_Z243.4-1985-1//
+alias  CSA7-1//                CSA_Z243.4-1985-1//
+alias  CA//                    CSA_Z243.4-1985-1//
+module CSA_Z243.4-1985-1//     INTERNAL                ISO646          2
+module INTERNAL                CSA_Z243.4-1985-1//     ISO646          2
+
+alias  ISO-IR-122//            CSA_Z243.4-1985-2//
+alias  ISO646-CA2//            CSA_Z243.4-1985-2//
+alias  CSA7-2//                CSA_Z243.4-1985-2//
+module CSA_Z243.4-1985-2//     INTERNAL                ISO646          2
+module INTERNAL                CSA_Z243.4-1985-2//     ISO646          2
+
+alias  ISO-IR-21//             DIN_66003//
+alias  DE//                    DIN_66003//
+alias  ISO646-DE//             DIN_66003//
+module DIN_66003//             INTERNAL                ISO646          2
+module INTERNAL                DIN_66003//             ISO646          2
+
+alias  DS2089//                DS_2089//
+alias  ISO646-DK//             DS_2089//
+alias  DK//                    DS_2089//
+module DS_2089//               INTERNAL                ISO646          2
+module INTERNAL                DS_2089//               ISO646          2
+
+alias  ISO-IR-17//             ES//
+alias  ISO646-ES//             ES//
+module ES//                    INTERNAL                ISO646          2
+module INTERNAL                ES//                    ISO646          2
+
+alias  ISO-IR-85//             ES2//
+alias  ISO646-ES2//            ES2//
+module ES2//                   INTERNAL                ISO646          2
+module INTERNAL                ES2//                   ISO646          2
+
+alias  ISO-IR-57//             GB_1988-80//
+alias  CN//                    GB_1988-80//
+alias  ISO646-CN//             GB_1988-80//
+module GB_1988-80//            INTERNAL                ISO646          2
+module INTERNAL                GB_1988-80//            ISO646          2
+
+alias  ISO-IR-15//             IT//
+alias  ISO646-IT//             IT//
+module IT//                    INTERNAL                ISO646          2
+module INTERNAL                IT//                    ISO646          2
+
+alias  ISO-IR-14//             JIS_C6220-1969-RO//
+alias  JP//                    JIS_C6220-1969-RO//
+alias  ISO646-JP//             JIS_C6220-1969-RO//
+module JIS_C6220-1969-RO//     INTERNAL                ISO646          2
+module INTERNAL                JIS_C6220-1969-RO//     ISO646          2
+
+alias  ISO-IR-92//             JIS_C6229-1984-B//
+alias  ISO646-JP-OCR-B//       JIS_C6229-1984-B//
+alias  JP-OCR-B//              JIS_C6229-1984-B//
+module JIS_C6229-1984-B//      INTERNAL                ISO646          2
+module INTERNAL                JIS_C6229-1984-B//      ISO646          2
+
+alias  ISO-IR-141//            JUS_I.B1.002//
+alias  ISO646-YU//             JUS_I.B1.002//
+alias  JS//                    JUS_I.B1.002//
+alias  YU//                    JUS_I.B1.002//
+module JUS_I.B1.002//          INTERNAL                ISO646          2
+module INTERNAL                JUS_I.B1.002//          ISO646          2
+
+alias  ISO646-KR//             KSC5636//
+module KSC5636//               INTERNAL                ISO646          2
+module INTERNAL                KSC5636//               ISO646          2
+
+alias  ISO-IR-86//             MSZ_7795.3//
+alias  ISO646-HU//             MSZ_7795.3//
+alias  HU//                    MSZ_7795.3//
+module MSZ_7795.3//            INTERNAL                ISO646          2
+module INTERNAL                MSZ_7795.3//            ISO646          2
+
+alias  CUBA//                  NC_NC00-10//
+alias  NC_NC00-10:81//         NC_NC00-10//
+alias  ISO-IR-151//            NC_NC00-10//
+alias  ISO646-CU//             NC_NC00-10//
+module NC_NC00-10//            INTERNAL                ISO646          2
+module INTERNAL                NC_NC00-10//            ISO646          2
+
+alias  ISO-IR-69//             NF_Z_62-010//
+alias  ISO646-FR//             NF_Z_62-010//
+alias  FR//                    NF_Z_62-010//
+module NF_Z_62-010//           INTERNAL                ISO646          2
+module INTERNAL                NF_Z_62-010//           ISO646          2
+
+alias  ISO-IR-25//             NF_Z_62-010_(1973)//
+alias  ISO646-FR1//            NF_Z_62-010_(1973)//
+alias  NF_Z_62-010_1973//      NF_Z_62-010_(1973)//
+module NF_Z_62-010_(1973)//    INTERNAL                ISO646          2
+module INTERNAL                NF_Z_62-010_(1973)//    ISO646          2
+
+alias  ISO-IR-60//             NS_4551-1//
+alias  ISO646-NO//             NS_4551-1//
+alias  NO//                    NS_4551-1//
+module NS_4551-1//             INTERNAL                ISO646          2
+module INTERNAL                NS_4551-1//             ISO646          2
+
+alias  ISO646-NO2//            NS_4551-2//
+alias  ISO-IR-61//             NS_4551-2//
+alias  NO2//                   NS_4551-2//
+module NS_4551-2//             INTERNAL                ISO646          2
+module INTERNAL                NS_4551-2//             ISO646          2
+
+alias  ISO-IR-16//             PT//
+alias  ISO646-PT//             PT//
+module PT//                    INTERNAL                ISO646          2
+module INTERNAL                PT//                    ISO646          2
+
+alias  ISO-IR-84//             PT2//
+alias  ISO646-PT2              PT2//
+module PT2//                   INTERNAL                ISO646          2
+module INTERNAL                PT2//                   ISO646          2
+
+alias  ISO-IR-10//             SEN_850200_B//
+alias  FI//                    SEN_850200_B//
+alias  ISO646-FI//             SEN_850200_B//
+alias  ISO646-SE//             SEN_850200_B//
+alias  SE//                    SEN_850200_B//
+alias  SS636127//              SEN_850200_B//
+module SEN_850200_B//          INTERNAL                ISO646          2
+module INTERNAL                SEN_850200_B//          ISO646          2
+
+alias  ISO-IR-11//             SEN_850200_C//
+alias  ISO646-SE2//            SEN_850200_C//
+alias  SE2//                   SEN_850200_C//
+module SEN_850200_C//          INTERNAL                ISO646          2
+module INTERNAL                SEN_850200_C//          ISO646          2
+
 #      from                      to                    module          cost
 alias  ISO-IR-100//            ISO-8859-1//
 alias  ISO_8859-1:1987//       ISO-8859-1//
@@ -61,6 +192,7 @@ alias        LATIN1//                ISO-8859-1//
 alias  L1//                    ISO-8859-1//
 alias  IBM819//                ISO-8859-1//
 alias  CP819//                 ISO-8859-1//
+alias  8859_1//                ISO-8859-1//
 module ISO-8859-1//            INTERNAL                ISO8859-1       1
 module INTERNAL                ISO-8859-1//            ISO8859-1       1
 
@@ -70,6 +202,7 @@ alias        ISO_8859-2:1987//       ISO-8859-2//
 alias  ISO_8859-2//            ISO-8859-2//
 alias  LATIN2//                ISO-8859-2//
 alias  L2//                    ISO-8859-2//
+alias  8859_2//                ISO-8859-2//
 module ISO-8859-2//            INTERNAL                ISO8859-2       1
 module INTERNAL                ISO-8859-2//            ISO8859-2       1
 
@@ -79,6 +212,7 @@ alias        ISO_8859-3:1988//       ISO-8859-3//
 alias  ISO_8859-3//            ISO-8859-3//
 alias  LATIN3//                ISO-8859-3//
 alias  L3//                    ISO-8859-3//
+alias  8859_3//                ISO-8859-3//
 module ISO-8859-3//            INTERNAL                ISO8859-3       1
 module INTERNAL                ISO-8859-3//            ISO8859-3       1
 
@@ -88,6 +222,7 @@ alias        ISO_8859-4:1988//       ISO-8859-4//
 alias  ISO_8859-4//            ISO-8859-4//
 alias  LATIN4//                ISO-8859-4//
 alias  L4//                    ISO-8859-4//
+alias  8859_4//                ISO-8859-4//
 module ISO-8859-4//            INTERNAL                ISO8859-4       1
 module INTERNAL                ISO-8859-4//            ISO8859-4       1
 
@@ -96,6 +231,7 @@ alias        ISO-IR-144//            ISO-8859-5//
 alias  ISO_8859-5:1988//       ISO-8859-5//
 alias  ISO_8859-5//            ISO-8859-5//
 alias  CYRILLIC//              ISO-8859-5//
+alias  8859_5//                ISO-8859-5//
 module ISO-8859-5//            INTERNAL                ISO8859-5       1
 module INTERNAL                ISO-8859-5//            ISO8859-5       1
 
@@ -106,6 +242,7 @@ alias       ISO_8859-6//            ISO-8859-6//
 alias  ECMA-114//              ISO-8859-6//
 alias  ASMO-708//              ISO-8859-6//
 alias  ARABIC//                ISO-8859-6//
+alias  8859_6//                ISO-8859-6//
 module ISO-8859-6//            INTERNAL                ISO8859-6       1
 module INTERNAL                ISO-8859-6//            ISO8859-6       1
 
@@ -117,6 +254,7 @@ alias       ELOT_928//              ISO-8859-7//
 alias  ECMA-118//              ISO-8859-7//
 alias  GREEK//                 ISO-8859-7//
 alias  GREEK8//                ISO-8859-7//
+alias  8859_7//                ISO-8859-7//
 module ISO-8859-7//            INTERNAL                ISO8859-7       1
 module INTERNAL                ISO-8859-7//            ISO8859-7       1
 
@@ -125,6 +263,7 @@ alias       ISO-IR-138//            ISO-8859-8//
 alias  ISO_8859-8:1988//       ISO-8859-8//
 alias  ISO_8859-8//            ISO-8859-8//
 alias  HEBREW//                ISO-8859-8//
+alias  8859_8//                ISO-8859-8//
 module ISO-8859-8//            INTERNAL                ISO8859-8       1
 module INTERNAL                ISO-8859-8//            ISO8859-8       1
 
@@ -134,6 +273,7 @@ alias       ISO_8859-9:1989//       ISO-8859-9//
 alias  ISO_8859-9//            ISO-8859-9//
 alias  LATIN5//                ISO-8859-9//
 alias  L5//                    ISO-8859-9//
+alias  8859_9//                ISO-8859-9//
 module ISO-8859-9//            INTERNAL                ISO8859-9       1
 module INTERNAL                ISO-8859-9//            ISO8859-9       1
 
@@ -200,6 +340,327 @@ module    INTERNAL                EBCDIC-AT-DE-A//        EBCDIC-AT-DE-A  1
 module EBCDIC-CA-FR//          INTERNAL                EBCDIC-CA-FR    1
 module INTERNAL                EBCDIC-CA-FR//          EBCDIC-CA-FR    1
 
+#      from                      to                    module          cost
+module EBCDIC-DK-NO//          INTERNAL                EBCDIC-DK-NO    1
+module INTERNAL                EBCDIC-DK-NO//          EBCDIC-DK-NO    1
+
+#      from                      to                    module          cost
+module EBCDIC-DK-NO-A//        INTERNAL                EBCDIC-DK-NO-A  1
+module INTERNAL                EBCDIC-DK-NO-A//        EBCDIC-DK-NO-A  1
+
+#      from                      to                    module          cost
+module EBCDIC-ES//             INTERNAL                EBCDIC-ES       1
+module INTERNAL                EBCDIC-ES//             EBCDIC-ES       1
+
+#      from                      to                    module          cost
+module EBCDIC-ES-A//           INTERNAL                EBCDIC-ES-A     1
+module INTERNAL                EBCDIC-ES-A//           EBCDIC-ES-A     1
+
+#      from                      to                    module          cost
+module EBCDIC-ES-S//           INTERNAL                EBCDIC-ES-S     1
+module INTERNAL                EBCDIC-ES-S//           EBCDIC-ES-S     1
+
+#      from                      to                    module          cost
+module EBCDIC-FI-SE//          INTERNAL                EBCDIC-FI-SE    1
+module INTERNAL                EBCDIC-FI-SE//          EBCDIC-FI-SE    1
+
+#      from                      to                    module          cost
+module EBCDIC-FI-SE-A//        INTERNAL                EBCDIC-FI-SE-A  1
+module INTERNAL                EBCDIC-FI-SE-A//        EBCDIC-FI-SE-A  1
+
+#      from                      to                    module          cost
+module EBCDIC-FR//             INTERNAL                EBCDIC-FR       1
+module INTERNAL                EBCDIC-FR//             EBCDIC-FR       1
+
+#      from                      to                    module          cost
+module EBCDIC-IS-FRISS//       INTERNAL                EBCDIC-IS-FRISS 1
+module INTERNAL                EBCDIC-IS-FRISS//       EBCDIC-IS-FRISS 1
+
+#      from                      to                    module          cost
+module EBCDIC-IT//             INTERNAL                EBCDIC-IT       1
+module INTERNAL                EBCDIC-IT//             EBCDIC-IT       1
+
+#      from                      to                    module          cost
+module EBCDIC-PT//             INTERNAL                EBCDIC-PT       1
+module INTERNAL                EBCDIC-PT//             EBCDIC-PT       1
+
+#      from                      to                    module          cost
+module EBCDIC-UK//             INTERNAL                EBCDIC-UK       1
+module INTERNAL                EBCDIC-UK//             EBCDIC-UK       1
+
+#      from                      to                    module          cost
+module EBCDIC-US//             INTERNAL                EBCDIC-US       1
+module INTERNAL                EBCDIC-US//             EBCDIC-US       1
+
+#      from                      to                    module          cost
+alias  CP037//                 IBM037//
+alias  EBCDIC-CP-US//          IBM037//
+alias  EBCDIC-CP-CA//          IBM037//
+alias  EBCDIC-CP-WT//          IBM037//
+alias  EBCDIC-CP-NL//          IBM037//
+module IBM037//                INTERNAL                IBM037          1
+module INTERNAL                IBM037//                IBM037          1
+
+#      from                      to                    module          cost
+alias  EBCDIC-INT//            IBM038//
+alias  CP038//                 IBM038//
+module IBM038//                INTERNAL                IBM038          1
+module INTERNAL                IBM038//                IBM038          1
+
+#      from                      to                    module          cost
+alias  EBCDIC-INT1//           IBM256//
+module IBM256//                INTERNAL                IBM256          1
+module INTERNAL                IBM256//                IBM256          1
+
+#      from                      to                    module          cost
+alias  CP273//                 IBM273//
+module IBM273//                INTERNAL                IBM273          1
+module INTERNAL                IBM273//                IBM273          1
+
+#      from                      to                    module          cost
+alias  EBCDIC-BE//             IBM274//
+alias  CP274//                 IBM274//
+module IBM274//                INTERNAL                IBM274          1
+module INTERNAL                IBM274//                IBM274          1
+
+#      from                      to                    module          cost
+alias  EBCDIC-BR//             IBM275//
+alias  CP275//                 IBM275//
+module IBM275//                INTERNAL                IBM275          1
+module INTERNAL                IBM275//                IBM275          1
+
+#      from                      to                    module          cost
+alias  EBCDIC-CP-DK//          IBM277//
+alias  EBCDIC-CP-NO//          IBM277//
+module IBM277//                INTERNAL                IBM277          1
+module INTERNAL                IBM277//                IBM277          1
+
+#      from                      to                    module          cost
+alias  CP278//                 IBM278//
+alias  EBCDIC-CP-FI//          IBM278//
+alias  EBCDIC-CP-SE//          IBM278//
+module IBM278//                INTERNAL                IBM278          1
+module INTERNAL                IBM278//                IBM278          1
+
+#      from                      to                    module          cost
+alias  CP280//                 IBM280//
+alias  EBCDIC-CP-IT//          IBM280//
+module IBM280//                INTERNAL                IBM280          1
+module INTERNAL                IBM280//                IBM280          1
+
+#      from                      to                    module          cost
+alias  EBCDIC-JP-E//           IBM281//
+alias  CP281//                 IBM281//
+module IBM281//                INTERNAL                IBM281          1
+module INTERNAL                IBM281//                IBM281          1
+
+#      from                      to                    module          cost
+alias  CP284//                 IBM284//
+alias  EBCDIC-CP-ES//          IBM284//
+module IBM284//                INTERNAL                IBM284          1
+module INTERNAL                IBM284//                IBM284          1
+
+#      from                      to                    module          cost
+alias  CP285//                 IBM285//
+alias  EBCDIC-CP-GB//          IBM285//
+module IBM285//                INTERNAL                IBM285          1
+module INTERNAL                IBM285//                IBM285          1
+
+#      from                      to                    module          cost
+alias  CP290//                 IBM290//
+alias  EBCDIC-JP-KANA//        IBM290//
+module IBM290//                INTERNAL                IBM290          1
+module INTERNAL                IBM290//                IBM290          1
+
+#      from                      to                    module          cost
+alias  CP297//                 IBM297//
+alias  EBCDIC-CP-FR//          IBM297//
+module IBM297//                INTERNAL                IBM297          1
+module INTERNAL                IBM297//                IBM297          1
+
+#      from                      to                    module          cost
+alias  CP420//                 IBM420//
+alias  EBCDIC-CP-AR1//         IBM420//
+module IBM420//                INTERNAL                IBM420          1
+module INTERNAL                IBM420//                IBM420          1
+
+#      from                      to                    module          cost
+alias  CP423//                 IBM423//
+alias  EBCDIC-CP-GR//          IBM423//
+module IBM423//                INTERNAL                IBM423          1
+module INTERNAL                IBM423//                IBM423          1
+
+#      from                      to                    module          cost
+alias  CP424//                 IBM424//
+alias  EBCDIC-CP-HE//          IBM424//
+module IBM424//                INTERNAL                IBM424          1
+module INTERNAL                IBM424//                IBM424          1
+
+#      from                      to                    module          cost
+alias  CP437//                 IBM437//
+alias  437//                   IBM437//
+module IBM437//                INTERNAL                IBM437          1
+module INTERNAL                IBM437//                IBM437          1
+
+#      from                      to                    module          cost
+alias  CP500//                 IBM500//
+alias  500//                   IBM500//
+alias  500V1//                 IBM500//
+alias  EBCDIC-CP-BE//          IBM500//
+alias  EBCDIC-CP-CH//          IBM500//
+module IBM500//                INTERNAL                IBM500          1
+module INTERNAL                IBM500//                IBM500          1
+
+#      from                      to                    module          cost
+alias  CP850//                 IBM850//
+alias  850//                   IBM850//
+module IBM850//                INTERNAL                IBM850          1
+module INTERNAL                IBM850//                IBM850          1
+
+#      from                      to                    module          cost
+alias  CP851//                 IBM851//
+alias  851//                   IBM851//
+module IBM851//                INTERNAL                IBM851          1
+module INTERNAL                IBM851//                IBM851          1
+
+#      from                      to                    module          cost
+alias  CP852//                 IBM852//
+alias  852//                   IBM852//
+module IBM852//                INTERNAL                IBM852          1
+module INTERNAL                IBM852//                IBM852          1
+
+#      from                      to                    module          cost
+alias  CP855//                 IBM855//
+alias  855//                   IBM855//
+module IBM855//                INTERNAL                IBM855          1
+module INTERNAL                IBM855//                IBM855          1
+
+#      from                      to                    module          cost
+alias  CP857//                 IBM857//
+alias  857//                   IBM857//
+module IBM857//                INTERNAL                IBM857          1
+module INTERNAL                IBM857//                IBM857          1
+
+#      from                      to                    module          cost
+alias  CP860//                 IBM860//
+alias  860//                   IBM860//
+module IBM860//                INTERNAL                IBM860          1
+module INTERNAL                IBM860//                IBM860          1
+
+#      from                      to                    module          cost
+alias  CP861//                 IBM861//
+alias  861//                   IBM861//
+module IBM861//                INTERNAL                IBM861          1
+module INTERNAL                IBM861//                IBM861          1
+
+#      from                      to                    module          cost
+alias  CP862//                 IBM862//
+alias  862//                   IBM862//
+module IBM862//                INTERNAL                IBM862          1
+module INTERNAL                IBM862//                IBM862          1
+
+#      from                      to                    module          cost
+alias  CP863//                 IBM863//
+alias  863//                   IBM863//
+module IBM863//                INTERNAL                IBM863          1
+module INTERNAL                IBM863//                IBM863          1
+
+#      from                      to                    module          cost
+alias  CP864//                 IBM864//
+alias  864//                   IBM864//
+module IBM864//                INTERNAL                IBM864          1
+module INTERNAL                IBM864//                IBM864          1
+
+#      from                      to                    module          cost
+alias  CP865//                 IBM865//
+alias  865//                   IBM865//
+module IBM865//                INTERNAL                IBM865          1
+module INTERNAL                IBM865//                IBM865          1
+
+#      from                      to                    module          cost
+alias  CP868//                 IBM868//
+alias  CP-AR//                 IBM868//
+module IBM868//                INTERNAL                IBM868          1
+module INTERNAL                IBM868//                IBM868          1
+
+#      from                      to                    module          cost
+alias  CP869//                 IBM869//
+alias  869//                   IBM869//
+alias  CP-GR//                 IBM869//
+module IBM869//                INTERNAL                IBM869          1
+module INTERNAL                IBM869//                IBM869          1
+
+#      from                      to                    module          cost
+alias  CP870//                 IBM870//
+alias  EBCDIC-CP-ROECE//       IBM870//
+alias  EBCDIC-CP-YU//          IBM870//
+module IBM870//                INTERNAL                IBM870          1
+module INTERNAL                IBM870//                IBM870          1
+
+#      from                      to                    module          cost
+alias  CP871//                 IBM871//
+alias  EBCDIC-CP-IS//          IBM871//
+module IBM871//                INTERNAL                IBM871          1
+module INTERNAL                IBM871//                IBM871          1
+
+#      from                      to                    module          cost
+alias  CP875//                 IBM875//
+alias  EBCDIC-GREEK//          IBM875//
+module IBM875//                INTERNAL                IBM875          1
+module INTERNAL                IBM875//                IBM875          1
+
+#      from                      to                    module          cost
+alias  CP880//                 IBM880//
+alias  EBCDIC-CYRILLIC//       IBM880//
+module IBM880//                INTERNAL                IBM880          1
+module INTERNAL                IBM880//                IBM880          1
+
+#      from                      to                    module          cost
+alias  CP891//                 IBM891//
+module IBM891//                INTERNAL                IBM891          1
+module INTERNAL                IBM891//                IBM891          1
+
+#      from                      to                    module          cost
+alias  CP903//                 IBM903//
+module IBM903//                INTERNAL                IBM903          1
+module INTERNAL                IBM903//                IBM903          1
+
+#      from                      to                    module          cost
+alias  CP904//                 IBM904//
+alias  904//                   IBM904//
+module IBM904//                INTERNAL                IBM904          1
+module INTERNAL                IBM904//                IBM904          1
+
+#      from                      to                    module          cost
+alias  CP905//                 IBM905//
+alias  EBCDIC-CP-TR//          IBM905//
+module IBM905//                INTERNAL                IBM905          1
+module INTERNAL                IBM905//                IBM905          1
+
+#      from                      to                    module          cost
+alias  CP918//                 IBM918//
+alias  EBCDIC-CP-AR2//         IBM918//
+module IBM918//                INTERNAL                IBM918          1
+module INTERNAL                IBM918//                IBM918          1
+
+#      from                      to                    module          cost
+alias  CP1004//                IBM1004//
+alias  OS2LATIN1//             IBM1004//
+module IBM1004//               INTERNAL                IBM1004         1
+module INTERNAL                IBM1004//               IBM1004         1
+
+#      from                      to                    module          cost
+alias  CP1026//                IBM1026//
+alias  1026//                  IBM1026//
+module IBM1026//               INTERNAL                IBM1026         1
+module INTERNAL                IBM1026//               IBM1026         1
+
+#      from                      to                    module          cost
+alias  CP1047//                IBM1047//
+alias  1047//                  IBM1047//
+module IBM1047//               INTERNAL                IBM1047         1
+module INTERNAL                IBM1047//               IBM1047         1
+
 #      from                      to                    module          cost
 alias  EUCKR//                 EUC-KR//
 module EUC-KR//                INTERNAL                EUC-KR          1
@@ -236,3 +697,43 @@ module     INTERNAL                EUC-CN//                EUC-CN          1
 alias  EUCTW//                 EUC-TW//
 module EUC-TW//                INTERNAL                EUC-TW          1
 module INTERNAL                EUC-TW//                EUC-TW          1
+
+#      from                      to                    module          cost
+alias  MS-EE//                 CP1250//
+module CP1250//                INTERNAL                CP1250          1
+module INTERNAL                CP1250//                CP1250          1
+
+#      from                      to                    module          cost
+alias  MS-CYRL//               CP1251//
+module CP1251//                INTERNAL                CP1251          1
+module INTERNAL                CP1251//                CP1251          1
+
+#      from                      to                    module          cost
+alias  MS-ANSI//               CP1252//
+module CP1252//                INTERNAL                CP1252          1
+module INTERNAL                CP1252//                CP1252          1
+
+#      from                      to                    module          cost
+alias  MS-GREEK//              CP1253//
+module CP1253//                INTERNAL                CP1253          1
+module INTERNAL                CP1253//                CP1253          1
+
+#      from                      to                    module          cost
+alias  MS-TURK//               CP1254//
+module CP1254//                INTERNAL                CP1254          1
+module INTERNAL                CP1254//                CP1254          1
+
+#      from                      to                    module          cost
+alias  MS-TURK//               CP1255//
+module CP1255//                INTERNAL                CP1255          1
+module INTERNAL                CP1255//                CP1255          1
+
+#      from                      to                    module          cost
+alias  MS-ARAB//               CP1256//
+module CP1256//                INTERNAL                CP1256          1
+module INTERNAL                CP1256//                CP1256          1
+
+#      from                      to                    module          cost
+alias  WINBLATRIM//            CP1257//
+module CP1257//                INTERNAL                CP1257          1
+module INTERNAL                CP1257//                CP1257          1
index 62e29ea463b2f15b832ff9007bf6e0e0d90b1920..6f83e8f1652f8b0f38fd0befa9588f6ba4084d24 100644 (file)
@@ -23,7 +23,7 @@
 /* Get the conversion table.  */
 #include <hp-roman8.h>
 
-#define CHARSET_NAME   "HP-ROMAN8"
+#define CHARSET_NAME   "HP-ROMAN8//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
diff --git a/iconvdata/ibm037.c b/iconvdata/ibm037.c
new file mode 100644 (file)
index 0000000..c790bc7
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM037.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm037.h>
+
+#define CHARSET_NAME   "IBM037//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm038.c b/iconvdata/ibm038.c
new file mode 100644 (file)
index 0000000..a769cb1
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM038.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm038.h>
+
+#define CHARSET_NAME   "IBM038//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm1004.c b/iconvdata/ibm1004.c
new file mode 100644 (file)
index 0000000..a84e7fe
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM1004.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm1004.h>
+
+#define CHARSET_NAME   "IBM1004//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm1026.c b/iconvdata/ibm1026.c
new file mode 100644 (file)
index 0000000..7b01a6c
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM1026.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm1026.h>
+
+#define CHARSET_NAME   "IBM1026//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm1047.c b/iconvdata/ibm1047.c
new file mode 100644 (file)
index 0000000..259351d
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM1047.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm1047.h>
+
+#define CHARSET_NAME   "IBM1047//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm256.c b/iconvdata/ibm256.c
new file mode 100644 (file)
index 0000000..b38ea7f
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM256.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm256.h>
+
+#define CHARSET_NAME   "IBM256//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm273.c b/iconvdata/ibm273.c
new file mode 100644 (file)
index 0000000..df8b96e
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM273.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm273.h>
+
+#define CHARSET_NAME   "IBM273//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm274.c b/iconvdata/ibm274.c
new file mode 100644 (file)
index 0000000..a61b315
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM274.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm274.h>
+
+#define CHARSET_NAME   "IBM274//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm275.c b/iconvdata/ibm275.c
new file mode 100644 (file)
index 0000000..97f7cc3
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM275.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm275.h>
+
+#define CHARSET_NAME   "IBM275//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm277.c b/iconvdata/ibm277.c
new file mode 100644 (file)
index 0000000..cc54d56
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM277.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm277.h>
+
+#define CHARSET_NAME   "IBM277//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm278.c b/iconvdata/ibm278.c
new file mode 100644 (file)
index 0000000..c471ef9
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM278.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm278.h>
+
+#define CHARSET_NAME   "IBM278//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm280.c b/iconvdata/ibm280.c
new file mode 100644 (file)
index 0000000..4ff67d6
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM280.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm280.h>
+
+#define CHARSET_NAME   "IBM280//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm281.c b/iconvdata/ibm281.c
new file mode 100644 (file)
index 0000000..74866c2
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM281.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm281.h>
+
+#define CHARSET_NAME   "IBM281//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm284.c b/iconvdata/ibm284.c
new file mode 100644 (file)
index 0000000..9b06c1a
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM284.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm284.h>
+
+#define CHARSET_NAME   "IBM284//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm285.c b/iconvdata/ibm285.c
new file mode 100644 (file)
index 0000000..e4fb3a7
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM285.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm285.h>
+
+#define CHARSET_NAME   "IBM285//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm290.c b/iconvdata/ibm290.c
new file mode 100644 (file)
index 0000000..2925ff5
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM290.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm290.h>
+
+#define CHARSET_NAME   "IBM290//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm297.c b/iconvdata/ibm297.c
new file mode 100644 (file)
index 0000000..e11eed8
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM297.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm297.h>
+
+#define CHARSET_NAME   "IBM297//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm420.c b/iconvdata/ibm420.c
new file mode 100644 (file)
index 0000000..b4accea
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM420.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm420.h>
+
+#define CHARSET_NAME   "IBM420//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm423.c b/iconvdata/ibm423.c
new file mode 100644 (file)
index 0000000..5b772bf
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM423.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm423.h>
+
+#define CHARSET_NAME   "IBM423//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm424.c b/iconvdata/ibm424.c
new file mode 100644 (file)
index 0000000..03a0139
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM424.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm424.h>
+
+#define CHARSET_NAME   "IBM424//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm437.c b/iconvdata/ibm437.c
new file mode 100644 (file)
index 0000000..c0f1ffb
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM437.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm437.h>
+
+#define CHARSET_NAME   "IBM437//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm500.c b/iconvdata/ibm500.c
new file mode 100644 (file)
index 0000000..dadf0c4
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM500.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm500.h>
+
+#define CHARSET_NAME   "IBM500//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm850.c b/iconvdata/ibm850.c
new file mode 100644 (file)
index 0000000..63910b6
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM850.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm850.h>
+
+#define CHARSET_NAME   "IBM850//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm851.c b/iconvdata/ibm851.c
new file mode 100644 (file)
index 0000000..e6bbba8
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM851.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm851.h>
+
+#define CHARSET_NAME   "IBM851//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm852.c b/iconvdata/ibm852.c
new file mode 100644 (file)
index 0000000..b3b3c2a
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM852.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm852.h>
+
+#define CHARSET_NAME   "IBM852//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm855.c b/iconvdata/ibm855.c
new file mode 100644 (file)
index 0000000..2f75b83
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM855.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm855.h>
+
+#define CHARSET_NAME   "IBM855//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm857.c b/iconvdata/ibm857.c
new file mode 100644 (file)
index 0000000..c7f9d1e
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM857.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm857.h>
+
+#define CHARSET_NAME   "IBM857//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm860.c b/iconvdata/ibm860.c
new file mode 100644 (file)
index 0000000..c75a43f
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM860.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm860.h>
+
+#define CHARSET_NAME   "IBM860//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm861.c b/iconvdata/ibm861.c
new file mode 100644 (file)
index 0000000..5a92aea
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM861.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm861.h>
+
+#define CHARSET_NAME   "IBM861//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm862.c b/iconvdata/ibm862.c
new file mode 100644 (file)
index 0000000..45a770f
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM862.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm862.h>
+
+#define CHARSET_NAME   "IBM862//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm863.c b/iconvdata/ibm863.c
new file mode 100644 (file)
index 0000000..8bf3026
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM863.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm863.h>
+
+#define CHARSET_NAME   "IBM863//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm864.c b/iconvdata/ibm864.c
new file mode 100644 (file)
index 0000000..7d34087
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM864.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm864.h>
+
+#define CHARSET_NAME   "IBM864//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm865.c b/iconvdata/ibm865.c
new file mode 100644 (file)
index 0000000..1a549b1
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM865.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm865.h>
+
+#define CHARSET_NAME   "IBM865//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm868.c b/iconvdata/ibm868.c
new file mode 100644 (file)
index 0000000..de7734e
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM868.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm868.h>
+
+#define CHARSET_NAME   "IBM868//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm869.c b/iconvdata/ibm869.c
new file mode 100644 (file)
index 0000000..b12df6b
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM869.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm869.h>
+
+#define CHARSET_NAME   "IBM869//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm870.c b/iconvdata/ibm870.c
new file mode 100644 (file)
index 0000000..b020c3f
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM870.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm870.h>
+
+#define CHARSET_NAME   "IBM870//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm871.c b/iconvdata/ibm871.c
new file mode 100644 (file)
index 0000000..73b7c9b
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM871.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm871.h>
+
+#define CHARSET_NAME   "IBM871//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm875.c b/iconvdata/ibm875.c
new file mode 100644 (file)
index 0000000..b6340f5
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM875.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm875.h>
+
+#define CHARSET_NAME   "IBM875//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm880.c b/iconvdata/ibm880.c
new file mode 100644 (file)
index 0000000..65bcaa5
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM880.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm880.h>
+
+#define CHARSET_NAME   "IBM880//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/ibm891.c b/iconvdata/ibm891.c
new file mode 100644 (file)
index 0000000..f6ed499
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM891.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm891.h>
+
+#define CHARSET_NAME   "IBM891//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm903.c b/iconvdata/ibm903.c
new file mode 100644 (file)
index 0000000..e81dd4d
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM903.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm903.h>
+
+#define CHARSET_NAME   "IBM903//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm904.c b/iconvdata/ibm904.c
new file mode 100644 (file)
index 0000000..92e149d
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM904.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm904.h>
+
+#define CHARSET_NAME   "IBM904//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm905.c b/iconvdata/ibm905.c
new file mode 100644 (file)
index 0000000..ce05bab
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM905.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#include <ibm905.h>
+
+#define CHARSET_NAME   "IBM905//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/ibm918.c b/iconvdata/ibm918.c
new file mode 100644 (file)
index 0000000..0dbdb9c
--- /dev/null
@@ -0,0 +1,29 @@
+/* Conversion from and to IBM918.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <stdint.h>
+
+/* Get the conversion table.  */
+#define TABLES <ibm918.h>
+
+#define CHARSET_NAME   "IBM918//"
+#define HAS_HOLES      1       /* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>
index 4b7c2bbbbf037b080f4b5163cba55c0a90fdc4b9..fa54371be372031644275674cd60ce22a41342a6 100644 (file)
@@ -62,6 +62,56 @@ enum variant
   illegal_var,
   US,          /* ANSI_X3.4-1968 */
   GB,          /* BS_4730 */
+  CA,          /* CSA_Z243.4-1985-1 */
+  CA2,         /* CSA_Z243.4-1985-2 */
+  DE,          /* DIN_66003 */
+  DK,          /* DS_2089 */
+  ES,          /* ES */
+  ES2,         /* ES2 */
+  CN,          /* GB_1988-80 */
+  IT,          /* IT */
+  JP,          /* JIS_C6220-1969-RO */
+  JP_OCR_B,    /* JIS_C6229-1984-B */
+  YU,          /* JUS_I.B1.002 */
+  KR,          /* KSC5636 */
+  HU,          /* MSZ_7795.3 */
+  CU,          /* NC_NC00-10 */
+  FR,          /* NF_Z_62-010 */
+  FR1,         /* NF_Z_62-010_(1973) */
+  NO,          /* NS_4551-1 */
+  NO2,         /* NS_4551-2 */
+  PT,          /* PT */
+  PT2,         /* PT2 */
+  SE,          /* SEN_850200_B */
+  SE2          /* SEN_850200_C */
+};
+
+static const char *names[] =
+{
+  [US] = "ANSI_X3.4-1968//",
+  [GB] = "BS_4730//",
+  [CA] = "CSA_Z243.4-1985-1//",
+  [CA2] = "CSA_Z243.4-1985-2//",
+  [DE] = "DIN_66003//",
+  [DK] = "DS_2089//",
+  [ES] = "ES//",
+  [ES2] = "ES2//",
+  [CN] = "GB_1988-80//",
+  [IT] = "IT//",
+  [JP] = "JIS_C6220-1969-RO//",
+  [JP_OCR_B] = "JIS_C6229-1984-B//",
+  [YU] = "JUS_I.B1.002//",
+  [KR] = "KSC5636//",
+  [HU] = "MSZ_7795.3//",
+  [CU] = "NC_NC00-10//",
+  [FR] = "NF_Z_62-010//",
+  [FR1] = "NF_Z_62-010_(1973)//",
+  [NO] = "NS_4551-1//",
+  [NO2] = "NS_4551-2//",
+  [PT] = "PT//",
+  [PT2] = "PT2//",
+  [SE] = "SEN_850200_B//",
+  [SE2] = "SEN_850200_C//"
 };
 
 struct iso646_data
@@ -76,35 +126,21 @@ gconv_init (struct gconv_step *step)
 {
   /* Determine which direction.  */
   struct iso646_data *new_data;
-  enum direction dir;
+  enum direction dir = illegal_dir;
   enum variant var;
   int result;
 
-  if (__strcasestr (step->from_name, "ANSI_X3.4-1968") != NULL)
-    {
-      dir = from_iso646;
-      var = US;
-    }
-  else if (__strcasestr (step->from_name, "BS_4730") != NULL)
-    {
-      dir = from_iso646;
-      var = GB;
-    }
-  else if (__strcasestr (step->to_name, "ANSI_X3.4-1968") != NULL)
-    {
-      dir = to_iso646;
-      var = US;
-    }
-  else if (__strcasestr (step->to_name, "BS_4730") != NULL)
-    {
-      dir = to_iso646;
-      var = GB;
-    }
-  else
-    {
-      dir = illegal_dir;
-      var = illegal_var;
-    }
+  for (var = sizeof (names) / sizeof (names[0]) - 1; var > illegal_var; --var)
+    if (__strcasecmp (step->from_name, names[var]) == 0)
+      {
+       dir = from_iso646;
+       break;
+      }
+    else if (__strcasecmp (step->to_name, names[var]) == 0)
+      {
+       dir = to_iso646;
+       break;
+      }
 
   result = GCONV_NOCONV;
   if (dir != illegal_dir
@@ -115,15 +151,16 @@ gconv_init (struct gconv_step *step)
       new_data->dir = dir;
       new_data->var = var;
       step->data = new_data;
-      result = GCONV_OK;
-    }
 
-  step->min_needed_from = MIN_NEEDED_FROM;
-  step->max_needed_from = MIN_NEEDED_FROM;
-  step->min_needed_to = MIN_NEEDED_TO;
-  step->max_needed_to = MIN_NEEDED_TO;
+      step->min_needed_from = MIN_NEEDED_FROM;
+      step->max_needed_from = MIN_NEEDED_FROM;
+      step->min_needed_to = MIN_NEEDED_TO;
+      step->max_needed_to = MIN_NEEDED_TO;
 
-  step->stateful = 0;
+      step->stateful = 0;
+
+      result = GCONV_OK;
+    }
 
   return result;
 }
@@ -145,27 +182,208 @@ gconv_end (struct gconv_step *data)
     uint32_t ch;                                                             \
     int failure = GCONV_OK;                                                  \
                                                                              \
-    switch (*inptr)                                                          \
+    ch = *inptr;                                                             \
+    switch (ch)                                                                      \
       {                                                                              \
-      case '\x23':                                                           \
-       if (var == GB)                                                        \
+      case 0x23:                                                             \
+       if (var == GB || var == ES || var == IT || var == FR || var == FR1)   \
          ch = 0xa3;                                                          \
-       else                                                                  \
-         ch = 0x23;                                                          \
+       else if (var == NO2)                                                  \
+         ch = 0xa7;                                                          \
+       break;                                                                \
+      case 0x24:                                                             \
+       if (var == CN)                                                        \
+         ch = 0xa5;                                                          \
+       else if (var == HU || var == CU || var == SE || var == SE2)           \
+         ch = 0xa4;                                                          \
+       break;                                                                \
+      case 0x40:                                                             \
+       if (var == CA || var == CA2 || var == FR || var == FR1)               \
+         ch = 0xe0;                                                          \
+       else if (var == DE || var == ES || var == IT || var == PT)            \
+         ch = 0xa7;                                                          \
+       else if (var == ES2)                                                  \
+         ch = 0x2022;                                                        \
+       else if (var == YU)                                                   \
+         ch = 0x17d;                                                         \
+       else if (var == HU)                                                   \
+         ch = 0xc1;                                                          \
+       else if (var == PT2)                                                  \
+         ch = 0xb4;                                                          \
+       else if (var == SE2)                                                  \
+         ch = 0xc9;                                                          \
+       break;                                                                \
+      case 0x5b:                                                             \
+       if (var == CA || var == CA2)                                          \
+         ch = 0xe2;                                                          \
+       else if (var == DE || var == SE || var == SE2)                        \
+         ch = 0xc4;                                                          \
+       else if (var == DK || var == NO || var == NO2)                        \
+         ch = 0xc6;                                                          \
+       else if (var == ES || var == ES2 || var == CU)                        \
+         ch = 0xa1;                                                          \
+       else if (var == IT || var == FR || var == FR1)                        \
+         ch = 0xb0;                                                          \
+       else if (var == JP_OCR_B)                                             \
+         ch = 0x2329;                                                        \
+       else if (var == YU)                                                   \
+         ch = 0x160;                                                         \
+       else if (var == HU)                                                   \
+         ch = 0xc9;                                                          \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0xc3;                                                          \
        break;                                                                \
-      case '\x7e':                                                           \
-       if (var == GB)                                                        \
+      case 0x5c:                                                             \
+       if (var == CA || var == CA2 || var == IT || var == FR || var == FR1)  \
+         ch = 0xe7;                                                          \
+       else if (var == DE || var == HU || var == SE || var == SE2)           \
+         ch = 0xd6;                                                          \
+       else if (var == DK || var == NO || var == NO2)                        \
+         ch = 0xd8;                                                          \
+       else if (var == ES || var == ES2 || var == CU)                        \
+         ch = 0xd1;                                                          \
+       else if (var == JP || var == JP_OCR_B)                                \
+         ch = 0xa5;                                                          \
+       else if (var == YU)                                                   \
+         ch = 0x110;                                                         \
+       else if (var == KR)                                                   \
+         ch = 0x20a9;                                                        \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0xc7;                                                          \
+       break;                                                                \
+      case 0x5d:                                                             \
+       if (var == CA || var == CA2)                                          \
+         ch = 0xea;                                                          \
+       else if (var == DE || var == HU)                                      \
+         ch = 0xdc;                                                          \
+       else if (var == DK || var == NO || var == NO2 || var == SE            \
+                || var == SE2)                                               \
+         ch = 0xc5;                                                          \
+       else if (var == ES)                                                   \
+         ch = 0xbf;                                                          \
+       else if (var == ES2)                                                  \
+         ch = 0xc7;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0xe9;                                                          \
+       else if (var == JP_OCR_B)                                             \
+         ch = 0x232a;                                                        \
+       else if (var == YU)                                                   \
+         ch = 0x106;                                                         \
+       else if (var == FR || var == FR1)                                     \
+         ch = 0xa7;                                                          \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0xd5;                                                          \
+       break;                                                                \
+      case 0x5e:                                                             \
+       if (var == CA)                                                        \
+         ch = 0xee;                                                          \
+       else if (var == CA2)                                                  \
+         ch = 0xc9;                                                          \
+       else if (var == ES2 || var == CU)                                     \
+         ch = 0xbf;                                                          \
+       else if (var == YU)                                                   \
+         ch = 0x10c;                                                         \
+       else if (var == SE2)                                                  \
+         ch = 0xdc;                                                          \
+       break;                                                                \
+      case 0x60:                                                             \
+       if (var == CA || var == CA2)                                          \
+         ch = 0xf4;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0xf9;                                                          \
+       else if (var == JP_OCR_B)                                             \
+         /* Illegal character.  */                                           \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       else if (var == YU)                                                   \
+         ch = 0x17e;                                                         \
+       else if (var == HU)                                                   \
+         ch = 0xe1;                                                          \
+       else if (var == FR)                                                   \
+         ch = 0xb5;                                                          \
+       else if (var == SE2)                                                  \
+         ch = 0xe9;                                                          \
+       break;                                                                \
+      case 0x7b:                                                             \
+       if (var == CA || var == CA2 || var == HU || var == FR || var == FR1)  \
+         ch = 0xe9;                                                          \
+       else if (var == DE || var == SE || var == SE2)                        \
+         ch = 0xe4;                                                          \
+       else if (var == DK || var == NO || var == NO2)                        \
+         ch = 0xe6;                                                          \
+       else if (var == ES)                                                   \
+         ch = 0xb0;                                                          \
+       else if (var == ES2 || var == CU)                                     \
+         ch = 0xb4;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0xe0;                                                          \
+       else if (var == YU)                                                   \
+         ch = 0x161;                                                         \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0xe3;                                                          \
+       break;                                                                \
+      case 0x7c:                                                             \
+       if (var == CA || var == CA2 || var == FR || var == FR1)               \
+         ch = 0xf9;                                                          \
+       else if (var == DE || var == HU || var == SE || var == SE2)           \
+         ch = 0xf6;                                                          \
+       else if (var == DK || var == NO || var == NO2)                        \
+         ch = 0xf8;                                                          \
+       else if (var == ES || var == ES2 || var == CU)                        \
+         ch = 0xf1;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0xf2;                                                          \
+       else if (var == YU)                                                   \
+         ch = 0x111;                                                         \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0xe7;                                                          \
+       break;                                                                \
+      case 0x7d:                                                             \
+       if (var == CA || var == CA2 || var == IT || var == FR || var == FR1)  \
+         ch = 0xe8;                                                          \
+       else if (var == DE || var == HU)                                      \
+         ch = 0xfc;                                                          \
+       else if (var == DK || var == NO || var == NO2 || var == SE            \
+                || var == SE2)                                               \
+         ch = 0xe5;                                                          \
+       else if (var == ES || var == ES2)                                     \
+         ch = 0xe7;                                                          \
+       else if (var == YU)                                                   \
+         ch = 0x107;                                                         \
+       else if (var == CU)                                                   \
+         ch = 0x5b;                                                          \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0xf5;                                                          \
+       break;                                                                \
+      case 0x7e:                                                             \
+       if (var == GB || var == CN || var == JP || var == NO || var == SE)    \
          ch = 0x203e;                                                        \
-       else                                                                  \
-         ch = 0x7e;                                                          \
+       else if (var == CA || var == CA2)                                     \
+         ch = 0xfb;                                                          \
+       else if (var == DE)                                                   \
+         ch = 0xdf;                                                          \
+       else if (var == ES2 || var == CU || var == FR || var == FR1)          \
+         ch = 0xa8;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0xec;                                                          \
+       else if (var == JP_OCR_B)                                             \
+         /* Illegal character.  */                                           \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       else if (var == YU)                                                   \
+         ch = 0x10d;                                                         \
+       else if (var == HU)                                                   \
+         ch = 0x2dd;                                                         \
+       else if (var == NO2)                                                  \
+         ch = 0x7c;                                                          \
+       else if (var == PT)                                                   \
+         ch = 0xb0;                                                          \
+       else if (var == SE2)                                                  \
+         ch = 0xfc;                                                          \
        break;                                                                \
       default:                                                               \
-       ch = *inptr;                                                          \
        break;                                                                \
       case '\x80' ... '\xff':                                                \
        /* Illegal character.  */                                             \
        failure = GCONV_ILLEGAL_INPUT;                                        \
-       ch = '\0';      /* OK, gcc, here I initialize the variable.  */       \
        break;                                                                \
       }                                                                              \
                                                                              \
@@ -190,54 +408,462 @@ gconv_end (struct gconv_step *data)
 #define LOOPFCT                        TO_LOOP
 #define BODY \
   {                                                                          \
-    unsigned char ch;                                                        \
+    unsigned char ch = '\0';                                                 \
     int failure = GCONV_OK;                                                  \
                                                                              \
-    do                                                                       \
+    ch = *((uint32_t *) inptr);                                                      \
+    switch (*((uint32_t *) inptr))                                           \
       {                                                                              \
-       switch (*((uint32_t *) inptr))                                        \
-         {                                                                   \
-         case 0x23:                                                          \
-           if (var == GB)                                                    \
-             break;                                                          \
-           ch = 0x23;                                                        \
-           continue;                                                         \
-         case 0x7e:                                                          \
-           if (var == GB)                                                    \
-             break;                                                          \
-           ch = 0x7e;                                                        \
-           continue;                                                         \
-         case 0xa3:                                                          \
-           if (var != GB)                                                    \
-             break;                                                          \
-           ch = 0x23;                                                        \
-           continue;                                                         \
-         case 0x203e:                                                        \
-           if (var != GB)                                                    \
-             break;                                                          \
-           ch = 0x7e;                                                        \
-           continue;                                                         \
-         default:                                                            \
-           if (*((uint32_t *) inptr) > 0x7f)                                 \
-             break;                                                          \
-           ch = (unsigned char) *((uint32_t *) inptr);                       \
-           continue;                                                         \
-         }                                                                   \
-       /* When we come to this place we saw an illegal character.  */        \
-       failure = GCONV_ILLEGAL_INPUT;                                        \
-       ch = '\0';      /* OK, gcc, here I initialize the variable.  */       \
+      case 0x23:                                                             \
+       if (var == GB || var == ES || var == IT || var == FR || var == FR1    \
+           || var == NO2)                                                    \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x24:                                                             \
+       if (var == CN || var == HU || var == CU || var == SE || var == SE2)   \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x40:                                                             \
+       if (var == CA || var == CA2 || var == DE || var == ES || var == ES2   \
+           || var == IT || var == YU || var == HU || var == FR || var == FR1 \
+           || var == PT || var == PT2 || var == SE2)                         \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x5b:                                                             \
+       if (var == CA || var == CA2 || var == DE || var == DK || var == ES    \
+           || var == ES2 || var == IT || var == JP_OCR_B || var == YU        \
+           || var == HU || var == FR || var == FR1 || var == NO              \
+           || var == NO2 || var == PT || var == PT2 || var == SE             \
+           || var == SE2)                                                    \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       else if (var == CU)                                                   \
+         ch = 0x7d;                                                          \
+       break;                                                                \
+      case 0x5c:                                                             \
+       if (var == CA || var == CA2 || var == DE || var == DK || var == ES    \
+           || var == ES2 || var == IT || var == JP || var == JP_OCR_B        \
+           || var == YU || var == KR || var == HU || var == CU || var == FR  \
+           || var == FR1 || var == NO || var == NO2 || var == PT             \
+           || var == PT2 || var == SE || var == SE2)                         \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x5d:                                                             \
+       if (var == CA || var == CA2 || var == DE || var == DK || var == ES    \
+           || var == ES2 || var == IT || var == JP_OCR_B || var == YU        \
+           || var == HU || var == FR || var == FR1 || var == NO              \
+           || var == NO2 || var == PT || var == PT2 || var == SE             \
+           || var == SE2)                                                    \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x5e:                                                             \
+       if (var == CA || var == CA2 || var == ES2 || var == YU || var == CU   \
+           || var == SE2)                                                    \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x60:                                                             \
+       if (var == CA || var == CA2 || var == IT || var == JP_OCR_B           \
+           || var == YU || var == HU || var == FR || var == SE2)             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x7b:                                                             \
+       if (var == CA || var == CA2 || var == DE || var == DK || var == ES    \
+           || var == ES2 || var == IT || var == YU || var == HU              \
+           || var == CU || var == FR || var == FR1 || var == NO              \
+           || var == NO2 || var == PT || var == PT2 || var == SE             \
+           || var == SE2)                                                    \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x7c:                                                             \
+       if (var == CA || var == CA2 || var == DE || var == DK || var == ES    \
+           || var == ES2 || var == IT || var == YU || var == HU || var == CU \
+           || var == FR || var == FR1 || var == NO || var == PT              \
+           || var == PT2 || var == SE || var == SE2)                         \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       else if (var == NO2)                                                  \
+         ch = 0x7e;                                                          \
+       break;                                                                \
+      case 0x7d:                                                             \
+       if (var == CA || var == CA2 || var == DE || var == DK || var == ES    \
+           || var == ES2 || var == IT || var == YU || var == HU || var == CU \
+           || var == FR || var == FR1 || var == NO || var == NO2             \
+           || var == PT || var == PT2 || var == SE || var == SE2)            \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x7e:                                                             \
+       if (var == GB || var == CA || var == CA2 || var == DE || var == ES2   \
+           || var == CN || var == IT || var == JP || var == JP_OCR_B         \
+           || var == YU || var == HU || var == CU || var == FR || var == FR1 \
+           || var == NO || var == NO2 || var == PT || var == SE              \
+           || var == SE2)                                                    \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xa1:                                                             \
+       if (var != ES && var != ES2 && var != CU)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5b;                                                            \
+       break;                                                                \
+      case 0xa3:                                                             \
+       if (var != GB && var != ES && var != IT && var != FR && var != FR1)   \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x23;                                                            \
+       break;                                                                \
+      case 0xa4:                                                             \
+       if (var != HU && var != CU && var != SE && var != SE2)                \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x24;                                                            \
+       break;                                                                \
+      case 0xa5:                                                             \
+       if (var == CN)                                                        \
+         ch = 0x24;                                                          \
+       else if (var == JP || var == JP_OCR_B)                                \
+         ch = 0x5c;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xa7:                                                             \
+       if (var == DE || var == ES || var == IT || var == PT)                 \
+         ch = 0x40;                                                          \
+       else if (var == FR || var == FR1)                                     \
+         ch = 0x5d;                                                          \
+       else if (var == NO2)                                                  \
+         ch = 0x23;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xa8:                                                             \
+       if (var != ES2 && var != CU && var != FR && var != FR1)               \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7e;                                                            \
+       break;                                                                \
+      case 0xb0:                                                             \
+       if (var == ES)                                                        \
+         ch = 0x7b;                                                          \
+       else if (var == IT || var == FR || var == FR1)                        \
+         ch = 0x5b;                                                          \
+       else if (var == PT)                                                   \
+         ch = 0x7e;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xb4:                                                             \
+       if (var == ES2 || var == CU)                                          \
+         ch = 0x7b;                                                          \
+       else if (var == PT2)                                                  \
+         ch = 0x40;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xb5:                                                             \
+       if (var != FR)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x60;                                                            \
+       break;                                                                \
+      case 0xbf:                                                             \
+       if (var == ES)                                                        \
+         ch = 0x5d;                                                          \
+       else if (var == ES2 || var == CU)                                     \
+         ch = 0x5e;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xc1:                                                             \
+       if (var != HU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x40;                                                            \
+       break;                                                                \
+      case 0xc3:                                                             \
+       if (var != PT && var != PT2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5b;                                                            \
+       break;                                                                \
+      case 0xc4:                                                             \
+       if (var != DE && var != SE && var != SE2)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5b;                                                            \
+       break;                                                                \
+      case 0xc5:                                                             \
+       if (var != DK && var != NO && var != NO2 && var != SE && var != SE2)  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5d;                                                            \
+       break;                                                                \
+      case 0xc6:                                                             \
+       if (var != DK && var != NO && var != NO2)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5b;                                                            \
+       break;                                                                \
+      case 0xc7:                                                             \
+       if (var == ES2)                                                       \
+         ch = 0x5d;                                                          \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0x5c;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xc9:                                                             \
+       if (var == CA2)                                                       \
+         ch = 0x5e;                                                          \
+       else if (var == HU)                                                   \
+         ch = 0x5b;                                                          \
+       else if (var == SE2)                                                  \
+         ch = 0x40;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xd1:                                                             \
+       if (var != ES && var != ES2 && var != CU)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5c;                                                            \
+       break;                                                                \
+      case 0xd5:                                                             \
+       if (var != PT && var != PT2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5d;                                                            \
+       break;                                                                \
+      case 0xd6:                                                             \
+       if (var != DE && var != HU && var != SE && var != SE2)                \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5c;                                                            \
+       break;                                                                \
+      case 0xd8:                                                             \
+       if (var != DK && var != NO && var != NO2)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5c;                                                            \
+       break;                                                                \
+      case 0xdc:                                                             \
+       if (var == DE || var == HU)                                           \
+         ch = 0x5d;                                                          \
+       else if (var == SE2)                                                  \
+         ch = 0x5e;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xdf:                                                             \
+       if (var != DE)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7e;                                                            \
+       break;                                                                \
+      case 0xe0:                                                             \
+       if (var == CA || var == CA2 || var == FR || var == FR1)               \
+         ch = 0x40;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0x7b;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xe1:                                                             \
+       if (var != HU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x60;                                                            \
+       break;                                                                \
+      case 0xe2:                                                             \
+       if (var != CA && var != CA2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5b;                                                            \
+       break;                                                                \
+      case 0xe3:                                                             \
+       if (var != PT && var != PT2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7b;                                                            \
+       break;                                                                \
+      case 0xe4:                                                             \
+       if (var != DE && var != SE && var != SE2)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7b;                                                            \
+       break;                                                                \
+      case 0xe5:                                                             \
+       if (var != DK && var != NO && var != NO2 && var != SE && var != SE2)  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7d;                                                            \
+       break;                                                                \
+      case 0xe6:                                                             \
+       if (var != DK && var != NO && var != NO2)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7b;                                                            \
+       break;                                                                \
+      case 0xe7:                                                             \
+       if (var == CA || var == CA2 || var == IT || var == FR || var == FR1)  \
+         ch = 0x5c;                                                          \
+       else if (var == ES || var == ES2)                                     \
+         ch = 0x7d;                                                          \
+       else if (var == PT || var == PT2)                                     \
+         ch = 0x7c;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xe8:                                                             \
+       if (var != CA && var != CA2 && var != IT && var != FR && var != FR1)  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7d;                                                            \
+       break;                                                                \
+      case 0xe9:                                                             \
+       if (var == CA || var == CA2 || var == HU || var == FR || var == FR1)  \
+         ch = 0x7b;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0x5d;                                                          \
+       else if (var == SE2)                                                  \
+         ch = 0x60;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xea:                                                             \
+       if (var != CA && var != CA2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5d;                                                            \
+       break;                                                                \
+      case 0xec:                                                             \
+       if (var != IT)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7e;                                                            \
+       break;                                                                \
+      case 0xee:                                                             \
+       if (var != CA)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5e;                                                            \
+       break;                                                                \
+      case 0xf1:                                                             \
+       if (var != ES && var != ES2 && var != CU)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7c;                                                            \
+       break;                                                                \
+      case 0xf2:                                                             \
+       if (var != IT)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7c;                                                            \
+       break;                                                                \
+      case 0xf4:                                                             \
+       if (var != CA && var != CA2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x60;                                                            \
+       break;                                                                \
+      case 0xf5:                                                             \
+       if (var != PT && var != PT2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7d;                                                            \
+       break;                                                                \
+      case 0xf6:                                                             \
+       if (var != DE && var != HU && var != SE && var != SE2)                \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7c;                                                            \
+       break;                                                                \
+      case 0xf8:                                                             \
+       if (var != DK && var != NO && var != NO2)                             \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7c;                                                            \
+       break;                                                                \
+      case 0xf9:                                                             \
+       if (var == CA || var == CA2 || var == FR || var == FR1)               \
+         ch = 0x7c;                                                          \
+       else if (var == IT)                                                   \
+         ch = 0x60;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0xfb:                                                             \
+       if (var != CA && var != CA2)                                          \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7e;                                                            \
+       break;                                                                \
+      case 0xfc:                                                             \
+       if (var == DE || var == HU)                                           \
+         ch = 0x7d;                                                          \
+       else if (var == SE2)                                                  \
+         ch = 0x7e;                                                          \
+       else                                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
+      case 0x160:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5b;                                                            \
+       break;                                                                \
+      case 0x106:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5d;                                                            \
+       break;                                                                \
+      case 0x107:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7d;                                                            \
+       break;                                                                \
+      case 0x10c:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5e;                                                            \
+       break;                                                                \
+      case 0x10d:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7e;                                                            \
+       break;                                                                \
+      case 0x110:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5c;                                                            \
+       break;                                                                \
+      case 0x111:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7c;                                                            \
+       break;                                                                \
+      case 0x161:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7b;                                                            \
+       break;                                                                \
+      case 0x17d:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x40;                                                            \
+       break;                                                                \
+      case 0x17e:                                                            \
+       if (var != YU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x60;                                                            \
+       break;                                                                \
+      case 0x2dd:                                                            \
+       if (var != HU)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7e;                                                            \
+       break;                                                                \
+      case 0x2022:                                                           \
+       if (var != ES2)                                                       \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x40;                                                            \
+       break;                                                                \
+      case 0x203e:                                                           \
+       if (var != GB && var != CN && var != JP && var != NO && var != SE)    \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x7e;                                                            \
+       break;                                                                \
+      case 0x20a9:                                                           \
+       if (var != KR)                                                        \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5c;                                                            \
+       break;                                                                \
+      case 0x2329:                                                           \
+       if (var != JP_OCR_B)                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5b;                                                            \
+       break;                                                                \
+      case 0x232a:                                                           \
+       if (var != JP_OCR_B)                                                  \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       ch = 0x5d;                                                            \
+       break;                                                                \
+      default:                                                               \
+       if (*((uint32_t *) inptr) > 0x7f)                                     \
+         failure = GCONV_ILLEGAL_INPUT;                                      \
+       break;                                                                \
       }                                                                              \
-    while (0);                                                               \
                                                                              \
-    /* Hopefully gcc can recognize that the following `if' is only true              \
-       when we fall through the `switch' statement.  */                              \
     if (failure == GCONV_ILLEGAL_INPUT)                                              \
       {                                                                              \
        /* Exit the loop with an error.  */                                   \
        result = failure;                                                     \
        break;                                                                \
       }                                                                              \
-    *outptr++ = ch;                                                          \
+    *outptr++ = (unsigned char) ch;                                          \
     inptr += 4;                                                                      \
   }
 #define EXTRA_LOOP_DECLS       , enum variant var
index b121ffa77a2759c7533ed0bf40622374d306b471..c927bd5fbb7ffaff9052ba04c9cd69247876b4c6 100644 (file)
@@ -372,7 +372,7 @@ static const char from_ucs4[][2] =
 
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "ISO_6937"
+#define CHARSET_NAME           "ISO_6937//"
 #define FROM_LOOP              from_iso6937
 #define TO_LOOP                        to_iso6937
 #define DEFINE_INIT            1
index c7b35b37dc8bb547ebda75a06c8133eeb670cc39..db6cbdf0f9b4c18864141773c7547f31841e101e 100644 (file)
@@ -21,7 +21,7 @@
 #include <stdint.h>
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "ISO-8859-1"
+#define CHARSET_NAME           "ISO-8859-1//"
 #define FROM_LOOP              from_iso8859_1
 #define TO_LOOP                        to_iso8859_1
 #define DEFINE_INIT            1
index acce3257e30e381d347d7f04978a6cfedb25546f..1f78df3fb65b732be436d7935722a6cbcc7bb926 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-10.h>
 
-#define CHARSET_NAME   "ISO-8859-10"
+#define CHARSET_NAME   "ISO-8859-10//"
 #define HAS_HOLES      0       /* All 256 character are defined.  */
 
 #include <8bit-generic.c>
index 8a5e62418f4c70ed5a8d68c43d7b860f47a364cf..2af33fa56ede6c29a83995a7963caa5a01873d65 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-2.h>
 
-#define CHARSET_NAME   "ISO-8859-2"
+#define CHARSET_NAME   "ISO-8859-2//"
 #define HAS_HOLES      0       /* All 256 character are defined.  */
 
 #include <8bit-generic.c>
index 10e52e429f6cc3038ebe2816892d861baf90b539..18227f4e149c407d7fd35a8fd2a7a7ef40d0ad71 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-3.h>
 
-#define CHARSET_NAME   "ISO-8859-3"
+#define CHARSET_NAME   "ISO-8859-3//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
index 01cdbf0b98bb3e40a8d36aa9b1af684bf22b330c..0dfa87e6f2860f4fc03c80d5f2805ee17fb87c84 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-4.h>
 
-#define CHARSET_NAME   "ISO-8859-4"
+#define CHARSET_NAME   "ISO-8859-4//"
 #define HAS_HOLES      0       /* All 256 character are defined.  */
 
 #include <8bit-generic.c>
index edf0f47b5c2e04f13d406b9b648e17761c340141..46d904c8ec898c155880f5a6693f9b9a877e89da 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-5.h>
 
-#define CHARSET_NAME   "ISO-8859-5"
+#define CHARSET_NAME   "ISO-8859-5//"
 #define HAS_HOLES      0       /* All 256 character are defined.  */
 
 #include <8bit-generic.c>
index 59ce3f2cc13cc61b43b616bdb3c0e6d6224aab8f..4a53f2f2b6be1d3b0f33b69941abfd685147ae06 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-6.h>
 
-#define CHARSET_NAME   "ISO-8859-6"
+#define CHARSET_NAME   "ISO-8859-6//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
index d75e93e2048c15dea7d239d8756d8dfbe4c19823..9d042aaf473681cd79d323a0d069a2e43411c831 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-7.h>
 
-#define CHARSET_NAME   "ISO-8859-7"
+#define CHARSET_NAME   "ISO-8859-7//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
index 1612f148f4fba9f8a4ae475c6d069784ebed1231..f6a4e237aa37aad2a71e3a19d1a8d3e00d1eca7a 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-8.h>
 
-#define CHARSET_NAME   "ISO-8859-8"
+#define CHARSET_NAME   "ISO-8859-8//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
index 063f189abac939f8e8504b6ad78ef5d741bda233..132547a8fbb8967cbfe7fe7f10785bb4d0b28bff 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <iso8859-9.h>
 
-#define CHARSET_NAME "ISO-8859-9"
+#define CHARSET_NAME "ISO-8859-9//"
 #define HAS_HOLES      0       /* All 256 character are defined.  */
 
 #include <8bit-generic.c>
index 49304371288dae9bb6ff45d5c27c4eb89f7af6f4..28d4b3ff5a6e670ff22ee56caf71879ba3f26dac 100644 (file)
@@ -41,7 +41,7 @@ extern const struct jisx0212_idx __jisx0212_from_ucs_idx[];
 extern const char __jisx0212_from_ucs[][2];
 
 
-static inline wchar_t
+static inline uint32_t
 jisx0212_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
 {
   const struct jisx0212_idx *rp = __jisx0212_to_ucs_idx;
@@ -50,7 +50,7 @@ jisx0212_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
   uint32_t wch = 0;
   int idx;
 
-  if (ch < offset || (ch - offset) <= 0x6d || (ch - offset) > 0xea)
+  if (ch < offset || (ch - offset) < 0x22 || (ch - offset) > 0x6d)
     return UNKNOWN_10646_CHAR;
 
   if (avail < 2)
@@ -60,7 +60,7 @@ jisx0212_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
   if (ch2 < offset || (ch2 - offset) <= 0x20 || (ch2 - offset) >= 0x7f)
     return UNKNOWN_10646_CHAR;
 
-  idx = (ch - 0x21 - offset) * 94 + (ch2 - 0x21 - offset);
+  idx = (ch - offset - 0x21) * 94 + (ch2 - offset - 0x21);
 
   while (idx > rp->end)
     ++rp;
@@ -77,7 +77,7 @@ jisx0212_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
 
 
 static inline size_t
-ucs4_to_jisx0212 (wchar_t wch, char *s, size_t avail)
+ucs4_to_jisx0212 (uint32_t wch, char *s, size_t avail)
 {
   const struct jisx0212_idx *rp = __jisx0212_from_ucs_idx;
   unsigned int ch = (unsigned int) wch;
index 6a582c0b707fa3ec7a3bb80319cb89e13ee12a6c..ddc52491a4efc229ce37ceeff346d50caeaae4cb 100644 (file)
@@ -220,7 +220,7 @@ johab_from_ucs4 (uint32_t ch, unsigned char *cp)
 
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "JOHAB"
+#define CHARSET_NAME           "JOHAB//"
 #define FROM_LOOP              from_johab
 #define TO_LOOP                        to_johab
 #define DEFINE_INIT            1
@@ -243,7 +243,7 @@ johab_from_ucs4 (uint32_t ch, unsigned char *cp)
        if (ch == 0x5c)                                                       \
         ch =  0x20a9;                                                        \
        else if (ch < 0x7f)                                                   \
-        ch = (wchar_t) ch;                                                   \
+        ch = (uint32_t) ch;                                                  \
     */                                                                       \
     if (ch < 0x7f)                                                           \
       /* Plain ASCII.  */                                                    \
index b2332c2a6a4d6599b262abda513181129b45e2fb..058b37ea80adb2428cf8c4b170ad0dea41984c41 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdint.h>
 #include <koi-8.h>
 
-#define CHARSET_NAME   "KOI-8"
+#define CHARSET_NAME   "KOI-8//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-generic.c>
index ee317bd25bd1d91ac38f15d3d09323aa13b056f8..b239150279bb0c11419cf1264d301153d9e1f1b1 100644 (file)
@@ -23,7 +23,7 @@
 /* Specify the conversion table.  */
 #define TABLES <koi8-r.h>
 
-#define CHARSET_NAME   "KOI8-R"
+#define CHARSET_NAME   "KOI8-R//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-gap.c>
index fe83b72514594b4fad7c119db4f384700124d316..a8ea02bda24dbc769b5e3aea5b3e97b21a2923d1 100644 (file)
@@ -1,4 +1,4 @@
-static const wchar_t to_ucs4[256] = {
+static const uint32_t to_ucs4[256] = {
   [0x01] = 0x0001,
   [0x02] = 0x0002,
   [0x03] = 0x0003,
index 8a5c40e5dda51903bc3e3ce17d33522945a1b778..76793f9e5b288f715159f1cd77e57ad2b77c6f25 100644 (file)
@@ -35,10 +35,6 @@ extern const uint16_t __ksc5601_hanja_to_ucs[KSC5601_HANJA];
 extern const uint16_t __ksc5601_hanja_from_ucs[KSC5601_HANJA][2];
 
 
-/*
-static inline wchar_t
-ksc5601_to_ucs4 (char **s, size_t avail)
-*/
 static inline uint32_t
 ksc5601_to_ucs4 (uint16_t s)
 {
@@ -145,11 +141,6 @@ ucs4_to_ksc5601_sym (uint32_t wch, uint16_t *s)
 }
 
 
-/*
-static inline size_t
-ucs4_to_ksc5601 (wchar_t wch, char **s, size_t avail)
-*/
-
 static inline size_t
 ucs4_to_ksc5601 (uint32_t ch, uint16_t *s)
 {
index 37ccf09c097b812d0dc6c595f665675e680a1435..0e944a44e8369c282fc9cf06621fa1841867d100 100644 (file)
@@ -21,7 +21,7 @@
 /* Specify the conversion table.  */
 #define TABLES <latin-greek-1.h>
 
-#define CHARSET_NAME   "LATIN-GREEK-1"
+#define CHARSET_NAME   "LATIN-GREEK-1//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-gap.c>
index ed699bf6a8ffa6742a26c4c628bfd7ba8f1de414..ab878c034e3326495caebf7e0c518078795dc416 100644 (file)
@@ -1,4 +1,4 @@
-static const wchar_t to_ucs4[256] = {
+static const uint32_t to_ucs4[256] = {
   [0x01] = 0x0001,
   [0x02] = 0x0002,
   [0x03] = 0x0003,
index 8810f4a2e079f9642b9eb5bb316c929c297b762b..e8755f631ae8a1b7b184ab00784192c8e4a08856 100644 (file)
@@ -21,7 +21,7 @@
 /* Specify the conversion table.  */
 #define TABLES <latin-greek.h>
 
-#define CHARSET_NAME   "LATIN-GREEK"
+#define CHARSET_NAME   "LATIN-GREEK//"
 #define HAS_HOLES      1       /* Not all 256 character are defined.  */
 
 #include <8bit-gap.c>
index 73d93c4957dec67c9c7c833a249b9a5a71044c47..5bbef291a6919d14ccbb44e71247abdfc1813bc3 100644 (file)
@@ -1,4 +1,4 @@
-static const wchar_t to_ucs4[256] = {
+static const uint32_t to_ucs4[256] = {
   [0x01] = 0x0001,
   [0x02] = 0x0002,
   [0x03] = 0x0003,
index d65b905b321eebdb65eb13224c9936bd3aaf32ba..02dbda9d83e7ef7ca11fec4acc897844be7706e5 100644 (file)
@@ -3980,7 +3980,7 @@ static const char from_ucs4_cjk[32657][2] =
 
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "SJIS"
+#define CHARSET_NAME           "SJIS//"
 #define FROM_LOOP              from_sjis
 #define TO_LOOP                        to_sjis
 #define DEFINE_INIT            1
index 8c288adca253e82b3e97a4a6bc38489105d2a1fe..868af445e04d9f492afc4ded79c630ac55b819d2 100644 (file)
@@ -23,7 +23,7 @@
 #include <string.h>
 
 /* Data taken from the WG15 tables.  */
-static const wchar_t to_ucs4[256] =
+static const uint32_t to_ucs4[256] =
 {
   /* 0x00 */ 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
   /* 0x08 */ 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
@@ -61,7 +61,7 @@ static const wchar_t to_ucs4[256] =
 
 /* The outer array range runs from 0xc1 to 0xcf, the inner range from 0x20
    to 0x7f.  */
-static const wchar_t to_ucs4_comb[15][96] =
+static const uint32_t to_ucs4_comb[15][96] =
 {
   /* 0xc1 */
   {
@@ -365,7 +365,7 @@ static const char from_ucs4[][2] =
 
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "T.61"
+#define CHARSET_NAME           "T.61//"
 #define FROM_LOOP              from_t_61
 #define TO_LOOP                        to_t_61
 #define DEFINE_INIT            1
diff --git a/iconvdata/testdata/CSA_Z243.4-1985-1 b/iconvdata/testdata/CSA_Z243.4-1985-1
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/CSA_Z243.4-1985-1..UCS2 b/iconvdata/testdata/CSA_Z243.4-1985-1..UCS2
new file mode 100644 (file)
index 0000000..ba03d5d
Binary files /dev/null and b/iconvdata/testdata/CSA_Z243.4-1985-1..UCS2 differ
diff --git a/iconvdata/testdata/CSA_Z243.4-1985-2 b/iconvdata/testdata/CSA_Z243.4-1985-2
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/CSA_Z243.4-1985-2..UCS4 b/iconvdata/testdata/CSA_Z243.4-1985-2..UCS4
new file mode 100644 (file)
index 0000000..8f395d1
Binary files /dev/null and b/iconvdata/testdata/CSA_Z243.4-1985-2..UCS4 differ
diff --git a/iconvdata/testdata/DIN_66003 b/iconvdata/testdata/DIN_66003
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/DIN_66003..UTF8 b/iconvdata/testdata/DIN_66003..UTF8
new file mode 100644 (file)
index 0000000..416166f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ § A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Ä Ö Ü ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ä ö ü ß
diff --git a/iconvdata/testdata/DS_2089 b/iconvdata/testdata/DS_2089
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/DS_2089..UTF8 b/iconvdata/testdata/DS_2089..UTF8
new file mode 100644 (file)
index 0000000..7885963
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Æ Ø Å ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z æ ø å ~
diff --git a/iconvdata/testdata/ES b/iconvdata/testdata/ES
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/ES..UTF8 b/iconvdata/testdata/ES..UTF8
new file mode 100644 (file)
index 0000000..dd13205
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " £ $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ § A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z ¡ Ñ ¿ ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ° ñ ç ~
diff --git a/iconvdata/testdata/ES2 b/iconvdata/testdata/ES2
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/ES2..UTF8 b/iconvdata/testdata/ES2..UTF8
new file mode 100644 (file)
index 0000000..3d32572
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ • A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z ¡ Ñ Ç ¿ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ´ ñ ç ¨
diff --git a/iconvdata/testdata/GB_1988-80 b/iconvdata/testdata/GB_1988-80
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/GB_1988-80..UTF8 b/iconvdata/testdata/GB_1988-80..UTF8
new file mode 100644 (file)
index 0000000..be43f8c
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # ¥ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ‾
diff --git a/iconvdata/testdata/IT b/iconvdata/testdata/IT
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/IT..UTF8 b/iconvdata/testdata/IT..UTF8
new file mode 100644 (file)
index 0000000..586e03b
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " £ $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ § A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z ° ç é ^ _
+ ù a b c d e f g h i j k l m n o
+ p q r s t u v w x y z à ò è ì
diff --git a/iconvdata/testdata/JIS_C6220-1969-RO b/iconvdata/testdata/JIS_C6220-1969-RO
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/JIS_C6220-1969-RO..UTF8 b/iconvdata/testdata/JIS_C6220-1969-RO..UTF8
new file mode 100644 (file)
index 0000000..9a81b2a
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ ¥ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ‾
diff --git a/iconvdata/testdata/JIS_C6229-1984-B b/iconvdata/testdata/JIS_C6229-1984-B
new file mode 100644 (file)
index 0000000..74b957e
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+   a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | }
diff --git a/iconvdata/testdata/JIS_C6229-1984-B..UTF8 b/iconvdata/testdata/JIS_C6229-1984-B..UTF8
new file mode 100644 (file)
index 0000000..7f5db11
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z 〈 ¥ 〉 ^ _
+   a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | }
diff --git a/iconvdata/testdata/JUS_I.B1.002 b/iconvdata/testdata/JUS_I.B1.002
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/JUS_I.B1.002..UTF8 b/iconvdata/testdata/JUS_I.B1.002..UTF8
new file mode 100644 (file)
index 0000000..3578c8b
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ Ž A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Š Đ Ć Č _
+ ž a b c d e f g h i j k l m n o
+ p q r s t u v w x y z š đ ć č
diff --git a/iconvdata/testdata/KSC5636 b/iconvdata/testdata/KSC5636
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/KSC5636..UTF8 b/iconvdata/testdata/KSC5636..UTF8
new file mode 100644 (file)
index 0000000..6de66cc
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ ₩ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/MSZ_7795.3 b/iconvdata/testdata/MSZ_7795.3
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/MSZ_7795.3..UTF8 b/iconvdata/testdata/MSZ_7795.3..UTF8
new file mode 100644 (file)
index 0000000..c62fae9
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # ¤ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ Á A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z É Ö Ü ^ _
+ á a b c d e f g h i j k l m n o
+ p q r s t u v w x y z é ö ü ˝
diff --git a/iconvdata/testdata/NC_NC00-10 b/iconvdata/testdata/NC_NC00-10
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/NC_NC00-10..UTF8 b/iconvdata/testdata/NC_NC00-10..UTF8
new file mode 100644 (file)
index 0000000..a8b2230
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # ¤ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z ¡ Ñ ] ¿ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ´ ñ [ ¨
diff --git a/iconvdata/testdata/NF_Z_62-010 b/iconvdata/testdata/NF_Z_62-010
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/NF_Z_62-010..UTF8 b/iconvdata/testdata/NF_Z_62-010..UTF8
new file mode 100644 (file)
index 0000000..c0bc719
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " £ $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ à A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z ° ç § ^ _
+ µ a b c d e f g h i j k l m n o
+ p q r s t u v w x y z é ù è ¨
diff --git a/iconvdata/testdata/NF_Z_62-010_1973 b/iconvdata/testdata/NF_Z_62-010_1973
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/NF_Z_62-010_1973..UTF8 b/iconvdata/testdata/NF_Z_62-010_1973..UTF8
new file mode 100644 (file)
index 0000000..1324ad2
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " £ $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ à A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z ° ç § ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z é ù è ¨
diff --git a/iconvdata/testdata/NS_4551-1 b/iconvdata/testdata/NS_4551-1
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/NS_4551-1..UTF8 b/iconvdata/testdata/NS_4551-1..UTF8
new file mode 100644 (file)
index 0000000..5174b56
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Æ Ø Å ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z æ ø å ‾
diff --git a/iconvdata/testdata/NS_4551-2 b/iconvdata/testdata/NS_4551-2
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/NS_4551-2..UTF8 b/iconvdata/testdata/NS_4551-2..UTF8
new file mode 100644 (file)
index 0000000..f777b2c
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " § $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Æ Ø Å ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z æ ø å |
diff --git a/iconvdata/testdata/PT b/iconvdata/testdata/PT
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/PT..UTF8 b/iconvdata/testdata/PT..UTF8
new file mode 100644 (file)
index 0000000..4e7c430
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ § A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Ã Ç Õ ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ã ç õ °
diff --git a/iconvdata/testdata/PT2 b/iconvdata/testdata/PT2
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/PT2..UTF8 b/iconvdata/testdata/PT2..UTF8
new file mode 100644 (file)
index 0000000..8367159
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ ´ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Ã Ç Õ ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ã ç õ ~
diff --git a/iconvdata/testdata/SEN_850200_B b/iconvdata/testdata/SEN_850200_B
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/SEN_850200_B..UTF8 b/iconvdata/testdata/SEN_850200_B..UTF8
new file mode 100644 (file)
index 0000000..458e21f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # ¤ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Ä Ö Å ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ä ö å ‾
diff --git a/iconvdata/testdata/SEN_850200_C b/iconvdata/testdata/SEN_850200_C
new file mode 100644 (file)
index 0000000..7b7da5f
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # $ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ @ A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z [ \ ] ^ _
+ ` a b c d e f g h i j k l m n o
+ p q r s t u v w x y z { | } ~
diff --git a/iconvdata/testdata/SEN_850200_C..UTF8 b/iconvdata/testdata/SEN_850200_C..UTF8
new file mode 100644 (file)
index 0000000..9af159d
--- /dev/null
@@ -0,0 +1,6 @@
+   ! " # ¤ % & ' ( ) * + , - . /
+ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ É A B C D E F G H I J K L M N O
+ P Q R S T U V W X Y Z Ä Ö Å Ü _
+ é a b c d e f g h i j k l m n o
+ p q r s t u v w x y z ä ö å ü
index f3addd4c4d6bb90c434167730cb07038a66bb10c..9c0b668ff720578d733f1cd82d375a9279a04a11 100644 (file)
@@ -43,7 +43,7 @@ egrep \
 
 */
 
-static const wchar_t uhc_extra_to_ucs[8822]=
+static const uint32_t uhc_extra_to_ucs[8822]=
 {
   0xac02, 0xac03, 0xac05, 0xac06, 0xac0b, 0xac0c, 0xac0d, 0xac0e,
   0xac0f, 0xac18, 0xac1e, 0xac1f, 0xac21, 0xac22, 0xac23, 0xac25,
@@ -2607,7 +2607,7 @@ uhc_from_ucs4 (uint32_t ch, unsigned char *cp)
 
 
 /* Definitions used in the body of the `gconv' function.  */
-#define CHARSET_NAME           "UHC"
+#define CHARSET_NAME           "UHC//"
 #define FROM_LOOP              from_uhc
 #define TO_LOOP                        to_uhc
 #define DEFINE_INIT            1
@@ -2630,7 +2630,7 @@ uhc_from_ucs4 (uint32_t ch, unsigned char *cp)
     if (ch == 0x5c)                                                          \
       ch =  0x20a9;                                                          \
     else if (ch <= 0x7f)                                                     \
-      ch = (wchar_t) ch;                                                     \
+      ch = (uint32_t) ch;                                                    \
 */                                                                           \
     if (ch <= 0x7f)                                                          \
       ++inptr;                                                               \
index bf0c7c885e3f60905cdb4a154a980d09b999bf2f..f2c59c44128c4e2fbd366f0e6faf2d367e4ffb66 100644 (file)
--- a/io/ftw.h
+++ b/io/ftw.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1996, 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -113,7 +113,7 @@ extern int ftw __P ((__const char *__dir, __ftw_func_t __func,
 extern int __REDIRECT (ftw, __P ((__const char *__dir, __ftw_func_t __func,
                                  int __descriptors)), ftw64);
 # else
-#  define nftw nftw64
+#  define ftw ftw64
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
index 7c71a345d13271efbc9c8bb1e6d6c66c9790475f..5bbd989ac9c224d5a931deeb777488f687e96791 100644 (file)
@@ -29,7 +29,7 @@ noexpr  "<'/>><<(><n><N><)/>><.><*>"
 END LC_MESSAGES
 
 LC_MONETARY
-int_curr_symbol           "<B><R><C><SP>"
+int_curr_symbol           "<B><R><L><SP>"
 currency_symbol           "<R><DO>"
 mon_decimal_point         "<,>"
 mon_thousands_sep         "<.>"
index 525df3cf8660dfef9c9f24697aaefb249263f125..08f20b6256274cf80e3d9714ffa6c0f665ed52b0 100644 (file)
@@ -102,7 +102,7 @@ glob/%.h: %.h
        ln -s ../$< $@
 
 glob/configure: glob/configure.in
-       cd glob; autoconf $(ACFLAGS)
+       cd glob && autoconf $(ACFLAGS)
 ifeq ($(with-cvs),yes)
        test ! -d CVS || cvs $(CVSOPTS) commit -m'Regenerated: autoconf $(ACFLAGS) $<' $@
 endif
index 48bcf6f5fdacd5ea118cffcacb6d686b0dc3ebf7..7666c879369ff32de7de409fccc118a1fcce790f 100644 (file)
@@ -935,6 +935,57 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
          else
            negative = 0;
 
+         /* Take care for the special arguments "nan" and "inf".  */
+         if (tolower (c) == 'n')
+           {
+             /* Maybe "nan".  */
+             ADDW (c);
+             if (inchar () == EOF || tolower (c) != 'a')
+               input_error ();
+             ADDW (c);
+             if (inchar () == EOF || tolower (c) != 'n')
+               input_error ();
+             ADDW (c);
+             /* It is "nan".  */
+             goto scan_float;
+           }
+         else if (tolower (c) == 'i')
+           {
+             /* Maybe "inf" or "infinity".  */
+             ADDW (c);
+             if (inchar () == EOF || tolower (c) != 'n')
+               input_error ();
+             ADDW (c);
+             if (inchar () == EOF || tolower (c) != 'f')
+               input_error ();
+             ADDW (c);
+             /* It is as least "inf".  */
+             if (inchar () != EOF)
+               {
+                 if (tolower (c) == 'i')
+                   {
+                     /* No we have to read the rest as well.  */
+                     ADDW (c);
+                     if (inchar () == EOF || tolower (c) != 'n')
+                       input_error ();
+                     ADDW (c);
+                     if (inchar () == EOF || tolower (c) != 'i')
+                       input_error ();
+                     ADDW (c);
+                     if (inchar () == EOF || tolower (c) != 't')
+                       input_error ();
+                     ADDW (c);
+                     if (inchar () == EOF || tolower (c) != 'y')
+                       input_error ();
+                     ADDW (c);
+                   }
+                 else
+                   /* Never mind.  */
+                   ungetc (c, s);
+               }
+             goto scan_float;
+           }
+
          is_hexa = 0;
          exp_char = 'e';
          if (c == '0')
@@ -995,6 +1046,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
          if (wpsize == 0 || (is_hexa && wpsize == 2))
            conv_error ();
 
+       scan_float:
          /* Convert the number.  */
          ADDW ('\0');
          if (flags & LONGDBL)
index 2631d83e43c057422fe1cf183f764014fb143768..dd4dd6db0d9f2b38ffa2bf51e06cabb785f83e78 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,94,95,96,97,98 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -447,18 +447,22 @@ extern int vsnprintf __P ((char *__s, size_t __maxlen,
 #ifdef __USE_GNU
 /* Write formatted output to a string dynamically allocated with `malloc'.
    Store the address of the string in *PTR.  */
-extern int vasprintf __P ((char **__ptr, __const char *__f,
-                          __gnuc_va_list __arg))
-     __attribute__ ((__format__ (__printf__, 2, 0)));
-extern int asprintf __P ((char **__ptr, __const char *__fmt, ...))
+extern int vasprintf __P ((char **__restrict __ptr,
+                          __const char *__restrict __f, __gnuc_va_list __arg))
      __attribute__ ((__format__ (__printf__, 2, 0)));
+extern int __asprintf __P ((char **__restrict __ptr,
+                           __const char *__restrict __fmt, ...))
+     __attribute__ ((__format__ (__printf__, 2, 3)));
+extern int asprintf __P ((char **__restrict __ptr,
+                         __const char *__restrict __fmt, ...))
+     __attribute__ ((__format__ (__printf__, 2, 3)));
 
 /* Write formatted output to a file descriptor.  */
-extern int vdprintf __P ((int __fd, __const char *__fmt,
+extern int vdprintf __P ((int __fd, __const char *__restrict __fmt,
                          __gnuc_va_list __arg))
      __attribute__ ((__format__ (__printf__, 2, 0)));
-extern int dprintf __P ((int __fd, __const char *__fmt, ...))
-     __attribute__ ((__format__ (__printf__, 2, 0)));
+extern int dprintf __P ((int __fd, __const char *__restrict __fmt, ...))
+     __attribute__ ((__format__ (__printf__, 2, 3)));
 #endif
 
 
index 05bbcd1ce185cc526931fbded08a5366b5e5531d..8003d3cdb00b4d8c8b23a6512963afd07140d29a 100644 (file)
@@ -18,7 +18,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <string.h>
-#include <unistd.>
+#include <unistd.h>
 
 #define TRANSFORM_UTMP_FILE_NAME(file_name) \
     ((strcmp (file_name, _PATH_UTMP "x") == 0 \
index b3161ca1950bedc444d4c83ae54547a23dfe988d..948920dfc14a695e2d6590bc52447415c7042e7a 100644 (file)
@@ -92,8 +92,8 @@ $(common-objpfx)stamp-errnos: $(hurd)/errnos.awk $(errno.texinfo) \
        -chmod a-w $(hurd)/errnos.h-tmp
        ./$(..)move-if-change $(hurd)/errnos.h-tmp $(hurd)/errnos.h
 ifeq ($(with-cvs),yes)
-       test ! -d CVS || \
-         (cd $(hurd); cvs commit -m'Regenerated from $^' errnos.h)
+       test ! -d $(hurd)/CVS || \
+         (cd $(hurd) && cvs commit -m'Regenerated from $^' errnos.h)
 endif
        touch $@
 
diff --git a/sysdeps/mach/hurd/bits/dirent.h b/sysdeps/mach/hurd/bits/dirent.h
new file mode 100644 (file)
index 0000000..6609fde
--- /dev/null
@@ -0,0 +1,67 @@
+/* Directory entry structure `struct dirent'.  Hurd version.
+   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _DIRENT_H
+# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
+#endif
+
+#ifndef __USE_FILE_OFFSET64
+/* The old BSD4.4-compatible struct dirent. */
+struct dirent
+  {
+    __ino_t d_ino;             /* File serial number.  */
+    unsigned short int d_reclen; /* Length of the whole `struct dirent'.  */
+    unsigned char d_type;      /* File type, possibly unknown.  */
+    unsigned char d_namlen;    /* Length of the file name.  */
+
+    /* Only this member is in the POSIX standard.  */
+    char d_name[1];            /* File name (actually longer).  */
+  };
+
+#else
+/* Linux-style 64-bit struct dirent. */
+struct dirent
+  {
+    __ino64_t d_ino;
+    __off64_t d_off;
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];          /* We must not include limits.h! */
+  };
+#endif
+
+#ifdef __USE_LARGEFILE64
+/* Same as above (Linux-style 64-bit struct dirent). */
+struct dirent64
+  {
+    __ino64_t d_ino;
+    __off64_t d_off;
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];          /* We must not include limits.h! */
+  };
+#endif
+
+#define d_fileno       d_ino   /* Backwards compatibility.  */
+
+/* These definitions are accurate for neither the 32-bit nor the
+   64-bit structures, but at least they are compatible. */
+#undef  _DIRENT_HAVE_D_NAMLEN
+#define _DIRENT_HAVE_D_RECLEN 1
+#define _DIRENT_HAVE_D_TYPE 1
diff --git a/sysdeps/mach/hurd/readdir64.c b/sysdeps/mach/hurd/readdir64.c
new file mode 100644 (file)
index 0000000..aed5e01
--- /dev/null
@@ -0,0 +1,51 @@
+/* Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <errno.h>
+#include <limits.h>
+#include <stddef.h>
+#include <string.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <sys/types.h>
+
+/* Read a directory entry from DIRP.  */
+struct dirent64 *
+__readdir64 (DIR *dirp)
+{
+  struct dirent *dp;
+  static struct dirent64 dent;
+
+  /* XXX the new __dir_readdir64 RPC is not yet implemented */
+
+  /* If __dir_readdir64 failed, then fall back on the old implementation */
+  dp = readdir (dirp);
+  if (!dp)
+    return NULL;
+
+  /* Return a struct dirent64, converted from the 32-bit value. */
+  memset (&dent, 0, sizeof (dent));
+  dent.d_reclen = sizeof (dent);
+
+  dent.d_ino = dp->d_fileno;
+  dent.d_type = dp->d_type;
+  memcpy (dent.d_name, dp->d_name, dp->d_namlen);
+
+  return &dent;
+}
+weak_alias (__readdir64, readdir64)
diff --git a/sysdeps/mach/hurd/readdir64_r.c b/sysdeps/mach/hurd/readdir64_r.c
new file mode 100644 (file)
index 0000000..bd00b0e
--- /dev/null
@@ -0,0 +1,57 @@
+/* Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <errno.h>
+#include <limits.h>
+#include <stddef.h>
+#include <string.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <sys/types.h>
+
+/* Read a directory entry from DIRP.  */
+int
+__readdir64_r (DIR *dirp, struct dirent64 *entry, struct dirent64 **result)
+{
+  struct dirent ent32, *res32;
+
+  /* XXX the new __dir_readdir64 RPC is not yet implemented */
+
+  /* If __dir_readdir64 failed, then fall back on the old implementation */
+  if (readdir_r (dirp, &ent32, &res32))
+    return -1;
+
+  if (!res32)
+    {
+      /* End of directory. */
+      *result = 0;
+      return 0;
+    }
+
+  /* Convert our result from the 32-bit value. */
+  memset (entry, 0, sizeof (*entry));
+  entry->d_reclen = sizeof (*entry);
+
+  entry->d_ino = res32->d_fileno;
+  entry->d_type = res32->d_type;
+  memcpy (entry->d_name, res32->d_name, res32->d_namlen);
+
+  *result = entry;
+  return 0;
+}
+weak_alias (__readdir64_r, readdir64_r)