diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-04-24 07:07:59 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-04-24 07:07:59 +0000 |
commit | 9b26f5c47dd7efd663119d02e2d2e3d9886c422c (patch) | |
tree | f4d1ee8bb914745b0931a499520535eb1d52531e | |
parent | ed838925efcb30fab98a0a118c862cc68c3307c2 (diff) | |
download | glibc-9b26f5c47dd7efd663119d02e2d2e3d9886c422c.tar glibc-9b26f5c47dd7efd663119d02e2d2e3d9886c422c.tar.gz glibc-9b26f5c47dd7efd663119d02e2d2e3d9886c422c.tar.bz2 glibc-9b26f5c47dd7efd663119d02e2d2e3d9886c422c.zip |
Update.
<<<<<<< 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, 4222 insertions, 187 deletions
@@ -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. diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h index 86e892f874..80cced4d4a 100644 --- a/iconv/gconv_int.h +++ b/iconv/gconv_int.h @@ -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 diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c index 95b4a66daf..c491c97ccd 100644 --- a/iconv/gconv_simple.c +++ b/iconv/gconv_simple.c @@ -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> diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c index 2452a88c5e..5a08a21819 100644 --- a/iconv/iconv_prog.c +++ b/iconv/iconv_prog.c @@ -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; diff --git a/iconv/skeleton.c b/iconv/skeleton.c index 8421941a1e..78f584e9fe 100644 --- a/iconv/skeleton.c +++ b/iconv/skeleton.c @@ -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; diff --git a/iconvdata/8bit-gap.c b/iconvdata/8bit-gap.c index 4065a6d777..137a61b047 100644 --- a/iconvdata/8bit-gap.c +++ b/iconvdata/8bit-gap.c @@ -25,7 +25,7 @@ struct gap { uint16_t start; uint16_t end; - int16_t idx; + int32_t idx; }; /* Now we can include the tables. */ diff --git a/iconvdata/Makefile b/iconvdata/Makefile index d8fda78330..45d5dad936 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -22,12 +22,21 @@ 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) diff --git a/iconvdata/TESTS b/iconvdata/TESTS index b4c95057c8..d18a808290 100644 --- a/iconvdata/TESTS +++ b/iconvdata/TESTS @@ -29,15 +29,37 @@ # ... # 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 diff --git a/iconvdata/big5.c b/iconvdata/big5.c index d4d89a04ff..b9ffce6905 100644 --- a/iconvdata/big5.c +++ b/iconvdata/big5.c @@ -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 diff --git a/iconvdata/cns11643.h b/iconvdata/cns11643.h index ccab8011ce..342c8777b6 100644 --- a/iconvdata/cns11643.h +++ b/iconvdata/cns11643.h @@ -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') diff --git a/iconvdata/cns11643l1.h b/iconvdata/cns11643l1.h index aa78c26d6c..5e5abb76e4 100644 --- a/iconvdata/cns11643l1.h +++ b/iconvdata/cns11643l1.h @@ -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 index 0000000000..7c9deeddbc --- /dev/null +++ b/iconvdata/cp1250.c @@ -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 index 0000000000..f3cbcc94b7 --- /dev/null +++ b/iconvdata/cp1251.c @@ -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 index 0000000000..84eaf0dc71 --- /dev/null +++ b/iconvdata/cp1252.c @@ -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 index 0000000000..b6273947bd --- /dev/null +++ b/iconvdata/cp1253.c @@ -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 index 0000000000..aa3b23dcf8 --- /dev/null +++ b/iconvdata/cp1254.c @@ -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 index 0000000000..b9e6ac9bc9 --- /dev/null +++ b/iconvdata/cp1255.c @@ -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 index 0000000000..e7092ab611 --- /dev/null +++ b/iconvdata/cp1256.c @@ -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 index 0000000000..8be05bcb46 --- /dev/null +++ b/iconvdata/cp1257.c @@ -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> diff --git a/iconvdata/ebcdic-at-de-a.c b/iconvdata/ebcdic-at-de-a.c index 654bdf87fd..9a6e779ddd 100644 --- a/iconvdata/ebcdic-at-de-a.c +++ b/iconvdata/ebcdic-at-de-a.c @@ -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> diff --git a/iconvdata/ebcdic-at-de.c b/iconvdata/ebcdic-at-de.c index ab718851d9..ef6c8c0e9f 100644 --- a/iconvdata/ebcdic-at-de.c +++ b/iconvdata/ebcdic-at-de.c @@ -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> diff --git a/iconvdata/ebcdic-ca-fr.c b/iconvdata/ebcdic-ca-fr.c index 91cf5aa388..8323a83945 100644 --- a/iconvdata/ebcdic-ca-fr.c +++ b/iconvdata/ebcdic-ca-fr.c @@ -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 index 0000000000..771b79cf5a --- /dev/null +++ b/iconvdata/ebcdic-dk-no-a.c @@ -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 index 0000000000..991429221b --- /dev/null +++ b/iconvdata/ebcdic-dk-no.c @@ -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 index 0000000000..5083262c9d --- /dev/null +++ b/iconvdata/ebcdic-es-a.c @@ -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 index 0000000000..74a13b5302 --- /dev/null +++ b/iconvdata/ebcdic-es-s.c @@ -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 index 0000000000..111ebaac99 --- /dev/null +++ b/iconvdata/ebcdic-es.c @@ -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 index 0000000000..d07adc9a59 --- /dev/null +++ b/iconvdata/ebcdic-fi-se-a.c @@ -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 index 0000000000..cceb2d61db --- /dev/null +++ b/iconvdata/ebcdic-fi-se.c @@ -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 index 0000000000..de646a4489 --- /dev/null +++ b/iconvdata/ebcdic-fr.c @@ -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 index 0000000000..ca86744cf9 --- /dev/null +++ b/iconvdata/ebcdic-is-friss.c @@ -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 index 0000000000..48f26f9099 --- /dev/null +++ b/iconvdata/ebcdic-it.c @@ -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 index 0000000000..a5d267999f --- /dev/null +++ b/iconvdata/ebcdic-pt.c @@ -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 index 0000000000..4a4c85c853 --- /dev/null +++ b/iconvdata/ebcdic-uk.c @@ -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 index 0000000000..2f8336ef86 --- /dev/null +++ b/iconvdata/ebcdic-us.c @@ -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> diff --git a/iconvdata/euccn.c b/iconvdata/euccn.c index 90e82cb41e..7ab670f9f5 100644 --- a/iconvdata/euccn.c +++ b/iconvdata/euccn.c @@ -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 diff --git a/iconvdata/eucjp.c b/iconvdata/eucjp.c index 24ebed94ec..96e075628c 100644 --- a/iconvdata/eucjp.c +++ b/iconvdata/eucjp.c @@ -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 diff --git a/iconvdata/euckr.c b/iconvdata/euckr.c index 50e4b40838..51848843d9 100644 --- a/iconvdata/euckr.c +++ b/iconvdata/euckr.c @@ -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) \ diff --git a/iconvdata/euctw.c b/iconvdata/euctw.c index 406dd67f29..ca1cdac40e 100644 --- a/iconvdata/euctw.c +++ b/iconvdata/euctw.c @@ -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 diff --git a/iconvdata/gb2312.h b/iconvdata/gb2312.h index df87950436..5b405a1138 100644 --- a/iconvdata/gb2312.h +++ b/iconvdata/gb2312.h @@ -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]; diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules index d5109dcf29..1648dce5f5 100644 --- a/iconvdata/gconv-modules +++ b/iconvdata/gconv-modules @@ -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 @@ -201,6 +341,327 @@ 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 module INTERNAL EUC-KR// 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 diff --git a/iconvdata/hp-roman8.c b/iconvdata/hp-roman8.c index 62e29ea463..6f83e8f165 100644 --- a/iconvdata/hp-roman8.c +++ b/iconvdata/hp-roman8.c @@ -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 index 0000000000..c790bc7a08 --- /dev/null +++ b/iconvdata/ibm037.c @@ -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 index 0000000000..a769cb12da --- /dev/null +++ b/iconvdata/ibm038.c @@ -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 index 0000000000..a84e7fe00a --- /dev/null +++ b/iconvdata/ibm1004.c @@ -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 index 0000000000..7b01a6cc83 --- /dev/null +++ b/iconvdata/ibm1026.c @@ -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 index 0000000000..259351dab6 --- /dev/null +++ b/iconvdata/ibm1047.c @@ -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 index 0000000000..b38ea7fd4f --- /dev/null +++ b/iconvdata/ibm256.c @@ -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 index 0000000000..df8b96ebe6 --- /dev/null +++ b/iconvdata/ibm273.c @@ -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 index 0000000000..a61b315a3f --- /dev/null +++ b/iconvdata/ibm274.c @@ -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 index 0000000000..97f7cc3c4c --- /dev/null +++ b/iconvdata/ibm275.c @@ -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 index 0000000000..cc54d565be --- /dev/null +++ b/iconvdata/ibm277.c @@ -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 index 0000000000..c471ef90b2 --- /dev/null +++ b/iconvdata/ibm278.c @@ -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 index 0000000000..4ff67d6581 --- /dev/null +++ b/iconvdata/ibm280.c @@ -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 index 0000000000..74866c26cf --- /dev/null +++ b/iconvdata/ibm281.c @@ -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 index 0000000000..9b06c1a81c --- /dev/null +++ b/iconvdata/ibm284.c @@ -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 index 0000000000..e4fb3a7299 --- /dev/null +++ b/iconvdata/ibm285.c @@ -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 index 0000000000..2925ff5ce1 --- /dev/null +++ b/iconvdata/ibm290.c @@ -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 index 0000000000..e11eed8ec9 --- /dev/null +++ b/iconvdata/ibm297.c @@ -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 index 0000000000..b4accea870 --- /dev/null +++ b/iconvdata/ibm420.c @@ -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 index 0000000000..5b772bf00e --- /dev/null +++ b/iconvdata/ibm423.c @@ -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 index 0000000000..03a0139371 --- /dev/null +++ b/iconvdata/ibm424.c @@ -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 index 0000000000..c0f1ffbb48 --- /dev/null +++ b/iconvdata/ibm437.c @@ -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 index 0000000000..dadf0c43c4 --- /dev/null +++ b/iconvdata/ibm500.c @@ -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 index 0000000000..63910b618e --- /dev/null +++ b/iconvdata/ibm850.c @@ -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 index 0000000000..e6bbba8186 --- /dev/null +++ b/iconvdata/ibm851.c @@ -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 index 0000000000..b3b3c2adb2 --- /dev/null +++ b/iconvdata/ibm852.c @@ -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 index 0000000000..2f75b835cd --- /dev/null +++ b/iconvdata/ibm855.c @@ -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 index 0000000000..c7f9d1e677 --- /dev/null +++ b/iconvdata/ibm857.c @@ -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 index 0000000000..c75a43fad8 --- /dev/null +++ b/iconvdata/ibm860.c @@ -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 index 0000000000..5a92aea917 --- /dev/null +++ b/iconvdata/ibm861.c @@ -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 index 0000000000..45a770f6fe --- /dev/null +++ b/iconvdata/ibm862.c @@ -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 index 0000000000..8bf3026e24 --- /dev/null +++ b/iconvdata/ibm863.c @@ -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 index 0000000000..7d340875d3 --- /dev/null +++ b/iconvdata/ibm864.c @@ -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 index 0000000000..1a549b1fdf --- /dev/null +++ b/iconvdata/ibm865.c @@ -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 index 0000000000..de7734ebe6 --- /dev/null +++ b/iconvdata/ibm868.c @@ -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 index 0000000000..b12df6b375 --- /dev/null +++ b/iconvdata/ibm869.c @@ -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 index 0000000000..b020c3f91c --- /dev/null +++ b/iconvdata/ibm870.c @@ -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 index 0000000000..73b7c9b48c --- /dev/null +++ b/iconvdata/ibm871.c @@ -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 index 0000000000..b6340f5e7a --- /dev/null +++ b/iconvdata/ibm875.c @@ -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 index 0000000000..65bcaa59d3 --- /dev/null +++ b/iconvdata/ibm880.c @@ -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 index 0000000000..f6ed499ad6 --- /dev/null +++ b/iconvdata/ibm891.c @@ -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 index 0000000000..e81dd4dfe1 --- /dev/null +++ b/iconvdata/ibm903.c @@ -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 index 0000000000..92e149da95 --- /dev/null +++ b/iconvdata/ibm904.c @@ -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 index 0000000000..ce05bab1ec --- /dev/null +++ b/iconvdata/ibm905.c @@ -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 index 0000000000..0dbdb9c521 --- /dev/null +++ b/iconvdata/ibm918.c @@ -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> diff --git a/iconvdata/iso646.c b/iconvdata/iso646.c index 4b7c2bbbbf..fa54371be3 100644 --- a/iconvdata/iso646.c +++ b/iconvdata/iso646.c @@ -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 diff --git a/iconvdata/iso6937.c b/iconvdata/iso6937.c index b121ffa77a..c927bd5fbb 100644 --- a/iconvdata/iso6937.c +++ b/iconvdata/iso6937.c @@ -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 diff --git a/iconvdata/iso8859-1.c b/iconvdata/iso8859-1.c index c7b35b37dc..db6cbdf0f9 100644 --- a/iconvdata/iso8859-1.c +++ b/iconvdata/iso8859-1.c @@ -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 diff --git a/iconvdata/iso8859-10.c b/iconvdata/iso8859-10.c index acce3257e3..1f78df3fb6 100644 --- a/iconvdata/iso8859-10.c +++ b/iconvdata/iso8859-10.c @@ -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> diff --git a/iconvdata/iso8859-2.c b/iconvdata/iso8859-2.c index 8a5e62418f..2af33fa56e 100644 --- a/iconvdata/iso8859-2.c +++ b/iconvdata/iso8859-2.c @@ -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> diff --git a/iconvdata/iso8859-3.c b/iconvdata/iso8859-3.c index 10e52e429f..18227f4e14 100644 --- a/iconvdata/iso8859-3.c +++ b/iconvdata/iso8859-3.c @@ -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> diff --git a/iconvdata/iso8859-4.c b/iconvdata/iso8859-4.c index 01cdbf0b98..0dfa87e6f2 100644 --- a/iconvdata/iso8859-4.c +++ b/iconvdata/iso8859-4.c @@ -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> diff --git a/iconvdata/iso8859-5.c b/iconvdata/iso8859-5.c index edf0f47b5c..46d904c8ec 100644 --- a/iconvdata/iso8859-5.c +++ b/iconvdata/iso8859-5.c @@ -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> diff --git a/iconvdata/iso8859-6.c b/iconvdata/iso8859-6.c index 59ce3f2cc1..4a53f2f2b6 100644 --- a/iconvdata/iso8859-6.c +++ b/iconvdata/iso8859-6.c @@ -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> diff --git a/iconvdata/iso8859-7.c b/iconvdata/iso8859-7.c index d75e93e204..9d042aaf47 100644 --- a/iconvdata/iso8859-7.c +++ b/iconvdata/iso8859-7.c @@ -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> diff --git a/iconvdata/iso8859-8.c b/iconvdata/iso8859-8.c index 1612f148f4..f6a4e237aa 100644 --- a/iconvdata/iso8859-8.c +++ b/iconvdata/iso8859-8.c @@ -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> diff --git a/iconvdata/iso8859-9.c b/iconvdata/iso8859-9.c index 063f189aba..132547a8fb 100644 --- a/iconvdata/iso8859-9.c +++ b/iconvdata/iso8859-9.c @@ -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> diff --git a/iconvdata/jis0212.h b/iconvdata/jis0212.h index 4930437128..28d4b3ff5a 100644 --- a/iconvdata/jis0212.h +++ b/iconvdata/jis0212.h @@ -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; diff --git a/iconvdata/johab.c b/iconvdata/johab.c index 6a582c0b70..ddc52491a4 100644 --- a/iconvdata/johab.c +++ b/iconvdata/johab.c @@ -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. */ \ diff --git a/iconvdata/koi-8.c b/iconvdata/koi-8.c index b2332c2a6a..058b37ea80 100644 --- a/iconvdata/koi-8.c +++ b/iconvdata/koi-8.c @@ -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> diff --git a/iconvdata/koi8-r.c b/iconvdata/koi8-r.c index ee317bd25b..b239150279 100644 --- a/iconvdata/koi8-r.c +++ b/iconvdata/koi8-r.c @@ -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> diff --git a/iconvdata/koi8-r.h b/iconvdata/koi8-r.h index fe83b72514..a8ea02bda2 100644 --- a/iconvdata/koi8-r.h +++ b/iconvdata/koi8-r.h @@ -1,4 +1,4 @@ -static const wchar_t to_ucs4[256] = { +static const uint32_t to_ucs4[256] = { [0x01] = 0x0001, [0x02] = 0x0002, [0x03] = 0x0003, diff --git a/iconvdata/ksc5601.h b/iconvdata/ksc5601.h index 8a5c40e5dd..76793f9e5b 100644 --- a/iconvdata/ksc5601.h +++ b/iconvdata/ksc5601.h @@ -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) { diff --git a/iconvdata/latin-greek-1.c b/iconvdata/latin-greek-1.c index 37ccf09c09..0e944a44e8 100644 --- a/iconvdata/latin-greek-1.c +++ b/iconvdata/latin-greek-1.c @@ -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> diff --git a/iconvdata/latin-greek-1.h b/iconvdata/latin-greek-1.h index ed699bf6a8..ab878c034e 100644 --- a/iconvdata/latin-greek-1.h +++ b/iconvdata/latin-greek-1.h @@ -1,4 +1,4 @@ -static const wchar_t to_ucs4[256] = { +static const uint32_t to_ucs4[256] = { [0x01] = 0x0001, [0x02] = 0x0002, [0x03] = 0x0003, diff --git a/iconvdata/latin-greek.c b/iconvdata/latin-greek.c index 8810f4a2e0..e8755f631a 100644 --- a/iconvdata/latin-greek.c +++ b/iconvdata/latin-greek.c @@ -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> diff --git a/iconvdata/latin-greek.h b/iconvdata/latin-greek.h index 73d93c4957..5bbef291a6 100644 --- a/iconvdata/latin-greek.h +++ b/iconvdata/latin-greek.h @@ -1,4 +1,4 @@ -static const wchar_t to_ucs4[256] = { +static const uint32_t to_ucs4[256] = { [0x01] = 0x0001, [0x02] = 0x0002, [0x03] = 0x0003, diff --git a/iconvdata/sjis.c b/iconvdata/sjis.c index d65b905b32..02dbda9d83 100644 --- a/iconvdata/sjis.c +++ b/iconvdata/sjis.c @@ -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 diff --git a/iconvdata/t61.c b/iconvdata/t61.c index 8c288adca2..868af445e0 100644 --- a/iconvdata/t61.c +++ b/iconvdata/t61.c @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/CSA_Z243.4-1985-1 @@ -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 Binary files differnew file mode 100644 index 0000000000..ba03d5d6bf --- /dev/null +++ b/iconvdata/testdata/CSA_Z243.4-1985-1..UCS2 diff --git a/iconvdata/testdata/CSA_Z243.4-1985-2 b/iconvdata/testdata/CSA_Z243.4-1985-2 new file mode 100644 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/CSA_Z243.4-1985-2 @@ -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 Binary files differnew file mode 100644 index 0000000000..8f395d1c92 --- /dev/null +++ b/iconvdata/testdata/CSA_Z243.4-1985-2..UCS4 diff --git a/iconvdata/testdata/DIN_66003 b/iconvdata/testdata/DIN_66003 new file mode 100644 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/DIN_66003 @@ -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 index 0000000000..416166f391 --- /dev/null +++ b/iconvdata/testdata/DIN_66003..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/DS_2089 @@ -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 index 0000000000..78859631b1 --- /dev/null +++ b/iconvdata/testdata/DS_2089..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/ES @@ -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 index 0000000000..dd13205d8e --- /dev/null +++ b/iconvdata/testdata/ES..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/ES2 @@ -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 index 0000000000..3d325728aa --- /dev/null +++ b/iconvdata/testdata/ES2..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/GB_1988-80 @@ -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 index 0000000000..be43f8ca05 --- /dev/null +++ b/iconvdata/testdata/GB_1988-80..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/IT @@ -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 index 0000000000..586e03b7f5 --- /dev/null +++ b/iconvdata/testdata/IT..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/JIS_C6220-1969-RO @@ -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 index 0000000000..9a81b2a1b5 --- /dev/null +++ b/iconvdata/testdata/JIS_C6220-1969-RO..UTF8 @@ -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 index 0000000000..74b957e174 --- /dev/null +++ b/iconvdata/testdata/JIS_C6229-1984-B @@ -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 index 0000000000..7f5db117ff --- /dev/null +++ b/iconvdata/testdata/JIS_C6229-1984-B..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/JUS_I.B1.002 @@ -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 index 0000000000..3578c8bb74 --- /dev/null +++ b/iconvdata/testdata/JUS_I.B1.002..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/KSC5636 @@ -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 index 0000000000..6de66ccc4b --- /dev/null +++ b/iconvdata/testdata/KSC5636..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/MSZ_7795.3 @@ -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 index 0000000000..c62fae92e6 --- /dev/null +++ b/iconvdata/testdata/MSZ_7795.3..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/NC_NC00-10 @@ -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 index 0000000000..a8b2230c84 --- /dev/null +++ b/iconvdata/testdata/NC_NC00-10..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/NF_Z_62-010 @@ -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 index 0000000000..c0bc7194ec --- /dev/null +++ b/iconvdata/testdata/NF_Z_62-010..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/NF_Z_62-010_1973 @@ -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 index 0000000000..1324ad229b --- /dev/null +++ b/iconvdata/testdata/NF_Z_62-010_1973..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/NS_4551-1 @@ -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 index 0000000000..5174b5657c --- /dev/null +++ b/iconvdata/testdata/NS_4551-1..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/NS_4551-2 @@ -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 index 0000000000..f777b2c349 --- /dev/null +++ b/iconvdata/testdata/NS_4551-2..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/PT @@ -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 index 0000000000..4e7c430be4 --- /dev/null +++ b/iconvdata/testdata/PT..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/PT2 @@ -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 index 0000000000..8367159176 --- /dev/null +++ b/iconvdata/testdata/PT2..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/SEN_850200_B @@ -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 index 0000000000..458e21f68c --- /dev/null +++ b/iconvdata/testdata/SEN_850200_B..UTF8 @@ -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 index 0000000000..7b7da5f318 --- /dev/null +++ b/iconvdata/testdata/SEN_850200_C @@ -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 index 0000000000..9af159df27 --- /dev/null +++ b/iconvdata/testdata/SEN_850200_C..UTF8 @@ -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/uhc.c b/iconvdata/uhc.c index f3addd4c4d..9c0b668ff7 100644 --- a/iconvdata/uhc.c +++ b/iconvdata/uhc.c @@ -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; \ @@ -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 diff --git a/localedata/locales/pt_BR b/localedata/locales/pt_BR index 7c71a345d1..5bbd989ac9 100644 --- a/localedata/locales/pt_BR +++ b/localedata/locales/pt_BR @@ -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 "<.>" diff --git a/posix/Makefile b/posix/Makefile index 525df3cf86..08f20b6256 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -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 diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c index 48bcf6f5fd..7666c87936 100644 --- a/stdio-common/vfscanf.c +++ b/stdio-common/vfscanf.c @@ -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) diff --git a/stdio/stdio.h b/stdio/stdio.h index 2631d83e43..dd4dd6db0d 100644 --- a/stdio/stdio.h +++ b/stdio/stdio.h @@ -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 diff --git a/sysdeps/gnu/utmp_file.c b/sysdeps/gnu/utmp_file.c index 05bbcd1ce1..8003d3cdb0 100644 --- a/sysdeps/gnu/utmp_file.c +++ b/sysdeps/gnu/utmp_file.c @@ -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 \ diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile index b3161ca195..948920dfc1 100644 --- a/sysdeps/mach/hurd/Makefile +++ b/sysdeps/mach/hurd/Makefile @@ -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 index 0000000000..6609fde8ea --- /dev/null +++ b/sysdeps/mach/hurd/bits/dirent.h @@ -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 index 0000000000..aed5e0199a --- /dev/null +++ b/sysdeps/mach/hurd/readdir64.c @@ -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 index 0000000000..bd00b0eb08 --- /dev/null +++ b/sysdeps/mach/hurd/readdir64_r.c @@ -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) |