1998-09-11  Ulrich Drepper  <drepper@cygnus.com>

	* resolv/res_init.c (res_init): Handle resolv.conf file with only
	one nameserver correctly.  Patch by HJ Lu.

	* iconvdata/Makefile (modules): Add IEC_P27-1, BALTIC, ASMO_449,
	and ANSI_X3.110.
	Define *-routines variables for new modules.
	(distribute): Add .c files for new modules.
	(awk-generated-headers): Add iec_p27-1.h, baltic.h, and asmo_449.h.
	Add rules for hedaer generation.
	* iconvdata/gconv-modules: Add entries for new modules.  Pretty print.
	* iconvdata/ansi_x3.110.c: New file.
	* iconvdata/asmo_449.c: New file.
	* iconvdata/baltic.c: New file.
	* iconvdata/iec_p27-1.c: New file.

	* iconvdata/t61.c (from_ucs4): Correct 0x23, 0x24, 0x80, and 0x81
	entries.
	Convert U02dc correctly.

	* math/atest-exp.c: Add parentheses to avoid gcc warnings.
	* math/atest-exp2.c: Likewise.
	* math/atest-sincos.c: Likewise.

	* posix/getopt.h: Don't define non-POSIX stuff unless _GNU_SOURCE
	is defined.

1998-09-11 10:51  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* string/strcoll.c: Optimize a few expressions.
	* string/strxfrm.c: Likewise.
This commit is contained in:
Ulrich Drepper 1998-09-11 12:14:37 +00:00
parent 5e0889da39
commit 04795ad902
16 changed files with 880 additions and 154 deletions

View file

@ -1,3 +1,36 @@
1998-09-11 Ulrich Drepper <drepper@cygnus.com>
* resolv/res_init.c (res_init): Handle resolv.conf file with only
one nameserver correctly. Patch by HJ Lu.
* iconvdata/Makefile (modules): Add IEC_P27-1, BALTIC, ASMO_449,
and ANSI_X3.110.
Define *-routines variables for new modules.
(distribute): Add .c files for new modules.
(awk-generated-headers): Add iec_p27-1.h, baltic.h, and asmo_449.h.
Add rules for hedaer generation.
* iconvdata/gconv-modules: Add entries for new modules. Pretty print.
* iconvdata/ansi_x3.110.c: New file.
* iconvdata/asmo_449.c: New file.
* iconvdata/baltic.c: New file.
* iconvdata/iec_p27-1.c: New file.
* iconvdata/t61.c (from_ucs4): Correct 0x23, 0x24, 0x80, and 0x81
entries.
Convert U02dc correctly.
* math/atest-exp.c: Add parentheses to avoid gcc warnings.
* math/atest-exp2.c: Likewise.
* math/atest-sincos.c: Likewise.
* posix/getopt.h: Don't define non-POSIX stuff unless _GNU_SOURCE
is defined.
1998-09-11 10:51 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/strcoll.c: Optimize a few expressions.
* string/strxfrm.c: Likewise.
1998-09-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/locale.texi: Fix typos.

View file

@ -37,7 +37,8 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861 \
IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 IBM880 \
IBM918 IBM1004 IBM1026 CP1250 CP1251 CP1252 CP1253 CP1254 \
CP1255 CP1256 CP1257 ISO-2022-JP MACINTOSH
CP1255 CP1256 CP1257 ISO-2022-JP MACINTOSH IEC_P27-1 BALTIC \
ASMO_449 ANSI_X3.110
modules.so := $(addsuffix .so, $(modules))
@ -143,6 +144,10 @@ EUC-TW-routines := euctw
ISO-2022-JP-routines := iso-2022-jp
ISO-2022-KR-routines := iso-2022-kr
MACINTOSH-routines := macintosh
IEC_P27-1-routines := iec_p27-1
BALTIC-routines := baltic
ASMO_449-routines := asmo_449
ANSI_X3.110-routines := ansi_x3.110
libJIS-routines := jis0201 jis0208 jis0212
libKSC-routines := ksc5601
libGB-routines := gb2312
@ -195,7 +200,8 @@ distribute := 8bit-generic.c 8bit-gap.c gap.awk gaptab.awk gconv-modules \
ibm1004.c ibm1026.c ibm1047.c cp1250.c cp1251.c cp1252.c \
cp1253.c cp1254.c cp1255.c cp1256.c cp1257.c cp874.c cp874.h \
cp737.c cp737.h cp775.c cp775.h iso-2022-jp.c iso-2022-kr.c \
gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh macintosh.c
gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh macintosh.c \
iec_p27-1.c baltic.c asmo_449.c ansi_x3.110.c
# We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared))
@ -261,7 +267,8 @@ awk-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h \
ibm1026.h cp1250.h cp1251.h cp1252.h cp1253.h \
cp1254.h cp1255.h cp1256.h cp1257.h \
iso8859-5.h iso8859-7.h iso8859-8.h \
iso8859-10.h iso8859-7jp.h macintosh.h
iso8859-10.h iso8859-7jp.h macintosh.h \
iec_p27-1.h baltic.h asmo_449.h
generated = $(sed-generated-headers) $(sed-generated-headers:%.h=%.stmp) \
$(awk-generated-headers) $(awk-generated-headers:%.h=%.stmp) \
@ -461,6 +468,12 @@ $(objpfx)cp1257.stmp: ../localedata/charmaps/CP1257 gen-8bit-gap.sh
$(objpfx)macintosh.stmp: ../localedata/charmaps/MACINTOSH gen-8bit-gap.sh
$(generate-8bit-gap-table)
$(objpfx)iec_p27-1.stmp: ../localedata/charmaps/IEC_P27-1 gen-8bit-gap.sh
$(generate-8bit-gap-table)
$(objpfx)baltic.stmp: ../localedata/charmaps/BALTIC gen-8bit-gap.sh
$(generate-8bit-gap-table)
$(objpfx)asmo_449.stmp: ../localedata/charmaps/ASMO_449 gen-8bit-gap.sh
$(generate-8bit-gap-table)
headers: $(addprefix $(objpfx),\
$(sed-generated-headers) $(awk-generated-headers))

558
iconvdata/ansi_x3.110.c Normal file
View file

@ -0,0 +1,558 @@
/* Generic conversion to and from ANSI_X3.110-1983.
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 <gconv.h>
#include <stdint.h>
#include <string.h>
/* Data taken from the WG15 tables. */
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,
/* 0x10 */ 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
/* 0x18 */ 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
/* 0x20 */ 0x0020, 0x0021, 0x0022, 0x0000, 0x0000, 0x0025, 0x0026, 0x0027,
/* 0x28 */ 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
/* 0x30 */ 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
/* 0x38 */ 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
/* 0x40 */ 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
/* 0x48 */ 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
/* 0x50 */ 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
/* 0x58 */ 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
/* 0x60 */ 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
/* 0x68 */ 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
/* 0x70 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
/* 0x78 */ 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
/* 0x80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
/* 0x88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
/* 0x90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
/* 0x98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
/* 0xa0 */ 0x0000, 0x00a1, 0x00a2, 0x00a3, 0x0024, 0x00a5, 0x0023, 0x00a7,
/* 0xa8 */ 0x00a4, 0x2018, 0x201c, 0x00ab, 0x2190, 0x2191, 0x2192, 0x2193,
/* 0xb0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00d7, 0x00b5, 0x00b6, 0x00b7,
/* 0xb8 */ 0x00f7, 0x2019, 0x201d, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
/* 0xc0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0xc8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0xd0 */ 0x2014, 0x00b9, 0x00ae, 0x00a9, 0x2122, 0x266a, 0x2500, 0x2502,
/* 0xd8 */ 0x2571, 0x2572, 0x25e2, 0x25e3, 0x215b, 0x215c, 0x215d, 0x215e,
/* 0xe0 */ 0x2126, 0x00c6, 0x00d0, 0x00aa, 0x0126, 0x253c, 0x0132, 0x013f,
/* 0xe8 */ 0x0141, 0x00d8, 0x0152, 0x00ba, 0x00de, 0x0166, 0x014a, 0x0149,
/* 0xf0 */ 0x0138, 0x00e6, 0x0111, 0x00f0, 0x0127, 0x0131, 0x0133, 0x0140,
/* 0xf8 */ 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x0167, 0x014b, 0x0000
};
/* The outer array range runs from 0xc1 to 0xcf, the inner range from 0x20
to 0x7f. */
static const uint32_t to_ucs4_comb[15][96] =
{
/* 0xc1 */
{
/* 0x20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x00c0, 0x0000, 0x0000, 0x0000, 0x00c8, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x00cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d2,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d9, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x00e0, 0x0000, 0x0000, 0x0000, 0x00e8, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x00ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f2,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f9, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc2 */
{
/* 0x20 */ 0x00b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x00c1, 0x0000, 0x0106, 0x0000, 0x00c9, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x00cd, 0x0000, 0x0000, 0x0139, 0x0000, 0x0143, 0x00d3,
/* 0x50 */ 0x0000, 0x0000, 0x0154, 0x015a, 0x0000, 0x00da, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x00dd, 0x0179, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x00e1, 0x0000, 0x0107, 0x0000, 0x00e9, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x00ed, 0x0000, 0x0000, 0x013a, 0x0000, 0x0144, 0x00f3,
/* 0x70 */ 0x0000, 0x0000, 0x0155, 0x015b, 0x0000, 0x00fa, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x00fd, 0x017a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc3 */
{
/* 0x20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x00c2, 0x0000, 0x0108, 0x0000, 0x00ca, 0x0000, 0x011c,
/* 0x48 */ 0x0124, 0x00ce, 0x0134, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d4,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x015c, 0x0000, 0x00db, 0x0000, 0x0174,
/* 0x58 */ 0x0000, 0x0176, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x00e2, 0x0000, 0x0109, 0x0000, 0x00ea, 0x0000, 0x011d,
/* 0x68 */ 0x0125, 0x00ee, 0x0135, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f4,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x015d, 0x0000, 0x00fb, 0x0000, 0x0175,
/* 0x78 */ 0x0000, 0x0177, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc4 */
{
/* 0x20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x00c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x0128, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d1, 0x00d5,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0168, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x00e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x0129, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f1, 0x00f5,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0169, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc5 */
{
/* 0x20 */ 0x00af, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0112, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x012a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x014c,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016a, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x0101, 0x0000, 0x0000, 0x0000, 0x0113, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x012b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x014d,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016b, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc6 */
{
/* 0x20 */ 0x02d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x0102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x011e,
/* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016c, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x0103, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x011f,
/* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016d, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc7 */
{
/* 0x20 */ 0x02d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x0000, 0x0000, 0x010a, 0x0000, 0x0116, 0x0000, 0x0120,
/* 0x48 */ 0x0000, 0x0130, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x017b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x0000, 0x0000, 0x010b, 0x0000, 0x0117, 0x0000, 0x0121,
/* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x017c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc8 */
{
/* 0x20 */ 0x00a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x00c4, 0x0000, 0x0000, 0x0000, 0x00cb, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x00cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d6,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00dc, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0178, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x00e4, 0x0000, 0x0000, 0x0000, 0x00eb, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x00ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f6,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00fc, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xc9 */
{
0x0000,
},
/* 0xca */
{
/* 0x20 */ 0x02da, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x00c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016e, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x00e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016f, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xcb */
{
/* 0x20 */ 0x00b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x0000, 0x0000, 0x00c7, 0x0000, 0x0000, 0x0000, 0x0122,
/* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0136, 0x013b, 0x0000, 0x0145, 0x0000,
/* 0x50 */ 0x0000, 0x0000, 0x0156, 0x015e, 0x0162, 0x0000, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x0000, 0x0000, 0x00e7, 0x0000, 0x0000, 0x0000, 0x0123,
/* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0137, 0x013c, 0x0000, 0x0146, 0x0000,
/* 0x70 */ 0x0000, 0x0000, 0x0157, 0x015f, 0x0163, 0x0000, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xcc */
{
0x0000,
},
/* 0xcd */
{
/* 0x20 */ 0x02dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0150,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0170, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0151,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0171, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xce */
{
/* 0x20 */ 0x02db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x0104, 0x0000, 0x0000, 0x0000, 0x0118, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x012e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0172, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x0105, 0x0000, 0x0000, 0x0000, 0x0119, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x012f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0173, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
},
/* 0xcf */
{
/* 0x20 */ 0x02c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x40 */ 0x0000, 0x0000, 0x0000, 0x010c, 0x010e, 0x011a, 0x0000, 0x0000,
/* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x013d, 0x0000, 0x0147, 0x0000,
/* 0x50 */ 0x0000, 0x0000, 0x0158, 0x0160, 0x0164, 0x0000, 0x0000, 0x0000,
/* 0x58 */ 0x0000, 0x0000, 0x017d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 0x60 */ 0x0000, 0x0000, 0x0000, 0x010d, 0x010f, 0x011b, 0x0000, 0x0000,
/* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x013e, 0x0000, 0x0148, 0x0000,
/* 0x70 */ 0x0000, 0x0000, 0x0159, 0x0161, 0x0165, 0x0000, 0x0000, 0x0000,
/* 0x78 */ 0x0000, 0x0000, 0x017e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}
};
static const char from_ucs4[][2] =
{
/* 0x0000 */ "\x00\x00", "\x01\x00", "\x02\x00", "\x03\x00", "\x04\x00",
/* 0x0005 */ "\x05\x00", "\x06\x00", "\x07\x00", "\x08\x00", "\x09\x00",
/* 0x000a */ "\x0a\x00", "\x0b\x00", "\x0c\x00", "\x0d\x00", "\x0e\x00",
/* 0x000f */ "\x0f\x00", "\x10\x00", "\x11\x00", "\x12\x00", "\x13\x00",
/* 0x0014 */ "\x14\x00", "\x15\x00", "\x16\x00", "\x17\x00", "\x18\x00",
/* 0x0019 */ "\x19\x00", "\x1a\x00", "\x1b\x00", "\x1c\x00", "\x1d\x00",
/* 0x001e */ "\x1e\x00", "\x1f\x00", "\x20\x00", "\x21\x00", "\x22\x00",
/* 0x0023 */ "\xa6\x00", "\xa4\x00", "\x25\x00", "\x26\x00", "\x27\x00",
/* 0x0028 */ "\x28\x00", "\x29\x00", "\x2a\x00", "\x2b\x00", "\x2c\x00",
/* 0x002d */ "\x2d\x00", "\x2e\x00", "\x2f\x00", "\x30\x00", "\x31\x00",
/* 0x0032 */ "\x32\x00", "\x33\x00", "\x34\x00", "\x35\x00", "\x36\x00",
/* 0x0037 */ "\x37\x00", "\x38\x00", "\x39\x00", "\x3a\x00", "\x3b\x00",
/* 0x003c */ "\x3c\x00", "\x3d\x00", "\x3e\x00", "\x3f\x00", "\x40\x00",
/* 0x0041 */ "\x41\x00", "\x42\x00", "\x43\x00", "\x44\x00", "\x45\x00",
/* 0x0046 */ "\x46\x00", "\x47\x00", "\x48\x00", "\x49\x00", "\x4a\x00",
/* 0x004b */ "\x4b\x00", "\x4c\x00", "\x4d\x00", "\x4e\x00", "\x4f\x00",
/* 0x0050 */ "\x50\x00", "\x51\x00", "\x52\x00", "\x53\x00", "\x54\x00",
/* 0x0055 */ "\x55\x00", "\x56\x00", "\x57\x00", "\x58\x00", "\x59\x00",
/* 0x005a */ "\x5a\x00", "\x5b\x00", "\x5c\x00", "\x5d\x00", "\x5e\x00",
/* 0x005f */ "\x5f\x00", "\x60\x00", "\x61\x00", "\x62\x00", "\x63\x00",
/* 0x0064 */ "\x64\x00", "\x65\x00", "\x66\x00", "\x67\x00", "\x68\x00",
/* 0x0069 */ "\x69\x00", "\x6a\x00", "\x6b\x00", "\x6c\x00", "\x6d\x00",
/* 0x006e */ "\x6e\x00", "\x6f\x00", "\x70\x00", "\x71\x00", "\x72\x00",
/* 0x0073 */ "\x73\x00", "\x74\x00", "\x75\x00", "\x76\x00", "\x77\x00",
/* 0x0078 */ "\x78\x00", "\x79\x00", "\x7a\x00", "\x7b\x00", "\x7c\x00",
/* 0x007d */ "\x7d\x00", "\x7e\x00", "\x7f\x00", "\x80\x00", "\x81\x00",
/* 0x0082 */ "\x82\x00", "\x83\x00", "\x84\x00", "\x85\x00", "\x86\x00",
/* 0x0087 */ "\x87\x00", "\x88\x00", "\x89\x00", "\x8a\x00", "\x8b\x00",
/* 0x008c */ "\x8c\x00", "\x8d\x00", "\x8e\x00", "\x8f\x00", "\x90\x00",
/* 0x0091 */ "\x91\x00", "\x92\x00", "\x93\x00", "\x94\x00", "\x95\x00",
/* 0x0096 */ "\x96\x00", "\x97\x00", "\x98\x00", "\x99\x00", "\x9a\x00",
/* 0x009b */ "\x9b\x00", "\x9c\x00", "\x9d\x00", "\x9e\x00", "\x9f\x00",
/* 0x00a0 */ "\x00\x00", "\xa1\x00", "\xa2\x00", "\xa3\x00", "\xa8\x00",
/* 0x00a5 */ "\xa5\x00", "\x00\x00", "\xa7\x00", "\xc8\x20", "\xd3\x00",
/* 0x00aa */ "\xe3\x00", "\xab\x00", "\x00\x00", "\x00\x00", "\xd2\x00",
/* 0x00af */ "\xc5\x20", "\xb0\x00", "\xb1\x00", "\xb2\x00", "\xb3\x00",
/* 0x00b4 */ "\xc2\x20", "\xb5\x00", "\xb6\x00", "\xb7\x00", "\xcb\x20",
/* 0x00b9 */ "\xd1\x00", "\xeb\x00", "\xbb\x00", "\xbc\x00", "\xbd\x00",
/* 0x00be */ "\xbe\x00", "\xbf\x00", "\xc1\x41", "\xc2\x41", "\xc3\x41",
/* 0x00c3 */ "\xc4\x41", "\xc8\x41", "\xca\x41", "\xe1\x00", "\xcb\x43",
/* 0x00c8 */ "\xc1\x45", "\xc2\x45", "\xc3\x45", "\xc8\x45", "\xc1\x49",
/* 0x00cd */ "\xc2\x49", "\xc3\x49", "\xc8\x49", "\xe2\x00", "\xc4\x4e",
/* 0x00d2 */ "\xc1\x4f", "\xc2\x4f", "\xc3\x4f", "\xc4\x4f", "\xc8\x4f",
/* 0x00d7 */ "\xb4\x00", "\xe9\x00", "\xc1\x55", "\xc2\x55", "\xc3\x55",
/* 0x00dc */ "\xc8\x55", "\xc2\x59", "\xec\x00", "\xfb\x00", "\xc1\x61",
/* 0x00e1 */ "\xc2\x61", "\xc3\x61", "\xc4\x61", "\xc8\x61", "\xca\x61",
/* 0x00e6 */ "\xf1\x00", "\xcb\x63", "\xc1\x65", "\xc2\x65", "\xc3\x65",
/* 0x00eb */ "\xc8\x65", "\xc1\x69", "\xc2\xe9", "\xc3\x69", "\xc8\x69",
/* 0x00f0 */ "\xf3\x00", "\xc4\x6e", "\xc1\x6f", "\xc2\x6f", "\xc3\x6f",
/* 0x00f5 */ "\xc4\x6f", "\xc8\x6f", "\xb8\x00", "\xf9\x00", "\xc1\x75",
/* 0x00fa */ "\xc2\x75", "\xc3\x75", "\xc8\x75", "\xc2\x79", "\xfc\x00",
/* 0x00ff */ "\xc8\x79", "\xc5\x41", "\xc5\x61", "\xc6\x41", "\xc6\x61",
/* 0x0104 */ "\xce\x41", "\xce\x61", "\xc2\x43", "\xc2\x63", "\xc3\x43",
/* 0x0109 */ "\xc3\x63", "\xc7\x43", "\xc7\x63", "\xcf\x43", "\xcf\x63",
/* 0x010e */ "\xcf\x44", "\xcf\x64", "\x00\x00", "\xf2\x00", "\xc5\x45",
/* 0x0113 */ "\xc5\x65", "\x00\x00", "\x00\x00", "\xc7\x45", "\xc7\x65",
/* 0x0118 */ "\xce\x45", "\xce\x65", "\xcf\x45", "\xcf\x65", "\xc3\x47",
/* 0x011d */ "\xc3\x67", "\xc6\x47", "\xc6\x67", "\xc7\x47", "\xc7\x67",
/* 0x0122 */ "\xcb\x47", "\xcb\x67", "\xc3\x48", "\xc3\x68", "\xe4\x00",
/* 0x0127 */ "\xf4\x00", "\xc4\x49", "\xc4\x69", "\xc5\x49", "\xc5\x69",
/* 0x012c */ "\x00\x00", "\x00\x00", "\xce\x49", "\xce\x69", "\xc7\x49",
/* 0x0131 */ "\xf5\x00", "\xe6\x00", "\xf6\x00", "\xc3\x4a", "\xc3\x6a",
/* 0x0136 */ "\xcb\x4b", "\xcb\x6b", "\xf0\x00", "\xc2\x4c", "\xc2\x6c",
/* 0x013b */ "\xcb\x4c", "\xcb\x6c", "\xcf\x4c", "\xcf\x6c", "\xe7\x00",
/* 0x0140 */ "\xf7\x00", "\xe8\x00", "\xf8\x00", "\xc2\x4e", "\xc2\x6e",
/* 0x0145 */ "\xcb\x4e", "\xcb\x6e", "\xcf\x4e", "\xcf\x6e", "\xef\x00",
/* 0x014a */ "\xee\x00", "\xfe\x00", "\xc5\x4f", "\xc5\x6f", "\x00\x00",
/* 0x014f */ "\x00\x00", "\xcd\x4f", "\xcd\x6f", "\xea\x00", "\xfa\x00",
/* 0x0154 */ "\xc2\x52", "\xc2\x72", "\xcb\x52", "\xcb\x72", "\xcf\x52",
/* 0x0159 */ "\xcf\x72", "\xc2\x53", "\xc2\x73", "\xc3\x53", "\xc3\x73",
/* 0x015e */ "\xcb\x53", "\xcb\x73", "\xcf\x53", "\xcf\x73", "\xcb\x54",
/* 0x0163 */ "\xcb\x74", "\xcf\x54", "\xcf\x74", "\xed\x00", "\xfd\x00",
/* 0x0168 */ "\xc4\x55", "\xc4\x75", "\xc5\x55", "\xc5\x75", "\xc6\x55",
/* 0x016d */ "\xc6\x75", "\xca\x55", "\xca\x75", "\xcd\x55", "\xcd\x75",
/* 0x0172 */ "\xce\x55", "\xce\x75", "\xc3\x57", "\xc3\x77", "\xc3\x59",
/* 0x0177 */ "\xc3\x79", "\xc8\x59", "\xc2\x5a", "\xc2\x7a", "\xc7\x5a",
/* 0x017c */ "\xc7\x7a", "\xcf\x5a", "\xcf\x7a"
/*
This table does not cover the following positions:
0x02c7 "\xcf\x20",
...
0x02d8 "\xc6\x20", "\xc7\x20", "\xca\x20", "\xce\x20", "\x00\x00",
0x02dd "\xcd\x20",
...
0x2014 "\xd0\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\xa9\x00",
0x2019 "\xb9\x00", "\x00\x00", "\x00\x00", "\xaa\x00", "\xba\x00",
0x201e "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\xd4\x00",
0x2023 "\x00\x00", "\x00\x00", "\x00\x00", "\xe0\x00",
...
0x215b "\xdc\x00", "\xdd\x00", "\xde\x00", "\xdf\x00",
...
0x2190 "\xac\x00", "\xad\x00", "\xae\x00", "\xaf\x00",
...
0x2500 "\xd6\x00", "\x00\x00", "\xd7\x00",
...
0x253c "\xe5\x00",
...
0x2571 "\xd8\x00", "\xd9\x00",
...
0x25e2 "\xda\x00", "\xdb\x00",
...
0x266a "\xd5\x00",
These would blow up the table and are therefore handled specially in
the code.
*/
};
/* Definitions used in the body of the `gconv' function. */
#define CHARSET_NAME "ANSI_X3.110//"
#define FROM_LOOP from_ansi_x3_110
#define TO_LOOP to_ansi_x3_110
#define DEFINE_INIT 1
#define DEFINE_FINI 1
#define MIN_NEEDED_FROM 1
#define MAX_NEEDED_FROM 2
#define MIN_NEEDED_TO 4
/* First define the conversion function from ANSI_X3.110 to UCS4. */
#define MIN_NEEDED_INPUT MIN_NEEDED_FROM
#define MAX_NEEDED_INPUT MAX_NEEDED_FROM
#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO
#define LOOPFCT FROM_LOOP
#define BODY \
{ \
uint32_t ch = *inptr; \
\
if (ch >= 0xc1 && ch <= 0xcf) \
{ \
/* Composed character. First test whether the next character \
is also available. */ \
uint32_t ch2; \
\
if (NEED_LENGTH_TEST && inptr + 1 >= inend) \
{ \
/* The second character is not available. */ \
result = GCONV_INCOMPLETE_INPUT; \
break; \
} \
\
ch2 = inptr[1]; \
\
if (ch2 < 0x20 || ch2 >= 0x80) \
{ \
/* This is illegal. */ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
\
ch = to_ucs4_comb[ch - 0xc1][ch2 - 0x20]; \
\
inptr += 2; \
} \
else \
{ \
ch = to_ucs4[ch]; \
++inptr; \
} \
\
if (ch == 0 && *inptr != '\0') \
{ \
/* This is an illegal character. */ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
\
*((uint32_t *) outptr)++ = ch; \
}
#include <iconv/loop.c>
/* Next, define the other direction. */
#define MIN_NEEDED_INPUT MIN_NEEDED_TO
#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM
#define MAX_NEEDED_OUTPUT MAX_NEEDED_FROM
#define LOOPFCT TO_LOOP
#define BODY \
{ \
char tmp[2]; \
uint32_t ch = *((uint32_t *) inptr); \
const char *cp; \
\
if (ch >= sizeof (from_ucs4) / sizeof (from_ucs4[0])) \
{ \
if (ch == 0x2c7) \
cp = "\xcf\x20"; \
else if (ch >= 0x2d8 && ch <= 0x2dd && ch != 0x2dc) \
{ \
static const char map[6] = "\xc6\xc7\xca\xce\x00\xcd"; \
\
tmp[0] = map[ch - 0x2d8]; \
tmp[1] = ' '; \
cp = tmp; \
} \
else if (ch >= 0x2014 && ch <= 0x2026) \
{ \
static const char map[19] = \
"\xd0\x00\x00\x00\xa9\xb9\x00\x00\xaa\xba\x00\x00\x00\x00" \
"\xd4\x00\x00\x00\xe0"; \
\
tmp[0] = map[ch - 0x2014]; \
if (tmp[0] == '\0') \
{ \
/* Illegal characters. */ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
tmp[1] = '\0'; \
cp = tmp; \
} \
else if (ch >= 0x215b && ch <= 0x215e) \
{ \
tmp[0] = 0xdc + ch - 0x215b; \
tmp[1] = '\0'; \
cp = tmp; \
} \
else if (ch >= 0x2190 && ch <= 0x2193) \
{ \
tmp[0] = 0xac + ch - 0x2190; \
tmp[1] = '\0'; \
cp = tmp; \
} \
else if (ch == 0x2500) \
cp = "\xd6"; \
else if (ch == 0x2502) \
cp = "\xd7"; \
else if (ch == 0x253c) \
cp = "\xe5"; \
else if (ch >= 0x2571 && ch <= 0x2572) \
{ \
tmp[0] = 0xd8 + ch - 0x2571; \
tmp[1] = '\0'; \
cp = tmp; \
} \
else if (ch >= 0x25e2 && ch <= 0x25e3) \
{ \
tmp[0] = 0xda + ch - 0x25e2; \
tmp[1] = '\0'; \
cp = tmp; \
} \
else if (ch == 0x266a) \
cp = "\xd5"; \
else \
{ \
/* Illegal characters. */ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
} \
else \
{ \
cp = from_ucs4[ch]; \
\
if (cp[0] == '\0' && ch != 0) \
{ \
/* Illegal. */ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
} \
\
*outptr++ = cp[0]; \
/* Now test for a possible second byte and write this if possible. */ \
if (cp[1] != '\0') \
{ \
if (NEED_LENGTH_TEST && outptr >= outend) \
{ \
/* The result does not fit into the buffer. */ \
--outptr; \
result = GCONV_FULL_OUTPUT; \
break; \
} \
\
*outptr++ = cp[1]; \
} \
\
inptr += 4; \
}
#include <iconv/loop.c>
/* Now define the toplevel functions. */
#include <iconv/skeleton.c>

29
iconvdata/asmo_449.c Normal file
View file

@ -0,0 +1,29 @@
/* Conversion from and to MACINTOSH.
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 <asmo_449.h>
#define CHARSET_NAME "ASMO_449//"
#define HAS_HOLES 1 /* Not all 256 character are defined. */
#include <8bit-gap.c>

29
iconvdata/baltic.c Normal file
View file

@ -0,0 +1,29 @@
/* Conversion from and to BALTIC.
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 <baltic.h>
#define CHARSET_NAME "BALTIC//"
#define HAS_HOLES 0 /* All 256 character are defined. */
#include <8bit-gap.c>

View file

@ -33,7 +33,8 @@
# alias: alias name which is not really recognized.
# name: the real name of the character set
# from to module cost
# from to module cost
alias ANSI_X3.4// ANSI_X3.4-1968//
alias ISO-IR-6// ANSI_X3.4-1968//
alias ANSI_X3.4-1986// ANSI_X3.4-1968//
alias ISO_646.IRV:1991// ANSI_X3.4-1968//
@ -185,7 +186,7 @@ alias SE2// SEN_850200_C//
module SEN_850200_C// INTERNAL ISO646 2
module INTERNAL SEN_850200_C// ISO646 2
# from to module cost
# from to module cost
alias ISO-IR-100// ISO-8859-1//
alias ISO_8859-1:1987// ISO-8859-1//
alias ISO_8859-1// ISO-8859-1//
@ -198,7 +199,7 @@ alias OSF00010001// ISO-8859-1//
module ISO-8859-1// INTERNAL ISO8859-1 1
module INTERNAL ISO-8859-1// ISO8859-1 1
# from to module cost
# from to module cost
alias ISO-IR-101// ISO-8859-2//
alias ISO_8859-2:1987// ISO-8859-2//
alias ISO_8859-2// ISO-8859-2//
@ -209,7 +210,7 @@ alias OSF00010002// ISO-8859-2//
module ISO-8859-2// INTERNAL ISO8859-2 1
module INTERNAL ISO-8859-2// ISO8859-2 1
# from to module cost
# from to module cost
alias ISO-IR-109// ISO-8859-3//
alias ISO_8859-3:1988// ISO-8859-3//
alias ISO_8859-3// ISO-8859-3//
@ -220,7 +221,7 @@ alias OSF00010003// ISO-8859-3//
module ISO-8859-3// INTERNAL ISO8859-3 1
module INTERNAL ISO-8859-3// ISO8859-3 1
# from to module cost
# from to module cost
alias ISO-IR-110// ISO-8859-4//
alias ISO_8859-4:1988// ISO-8859-4//
alias ISO_8859-4// ISO-8859-4//
@ -231,7 +232,7 @@ alias OSF00010004// ISO-8859-4//
module ISO-8859-4// INTERNAL ISO8859-4 1
module INTERNAL ISO-8859-4// ISO8859-4 1
# from to module cost
# from to module cost
alias ISO-IR-144// ISO-8859-5//
alias ISO_8859-5:1988// ISO-8859-5//
alias ISO_8859-5// ISO-8859-5//
@ -241,7 +242,7 @@ alias OSF00010005// ISO-8859-5//
module ISO-8859-5// INTERNAL ISO8859-5 1
module INTERNAL ISO-8859-5// ISO8859-5 1
# from to module cost
# from to module cost
alias ISO-IR-127// ISO-8859-6//
alias ISO_8859-6:1987// ISO-8859-6//
alias ISO_8859-6// ISO-8859-6//
@ -253,7 +254,7 @@ alias OSF00010006// ISO-8859-6//
module ISO-8859-6// INTERNAL ISO8859-6 1
module INTERNAL ISO-8859-6// ISO8859-6 1
# from to module cost
# from to module cost
alias ISO-IR-126// ISO-8859-7//
alias ISO_8859-7:1987// ISO-8859-7//
alias ISO_8859-7// ISO-8859-7//
@ -266,7 +267,7 @@ alias OSF00010007// ISO-8859-7//
module ISO-8859-7// INTERNAL ISO8859-7 1
module INTERNAL ISO-8859-7// ISO8859-7 1
# from to module cost
# from to module cost
alias ISO-IR-138// ISO-8859-8//
alias ISO_8859-8:1988// ISO-8859-8//
alias ISO_8859-8// ISO-8859-8//
@ -276,7 +277,7 @@ alias OSF00010008// ISO-8859-8//
module ISO-8859-8// INTERNAL ISO8859-8 1
module INTERNAL ISO-8859-8// ISO8859-8 1
# from to module cost
# from to module cost
alias ISO-IR-148// ISO-8859-9//
alias ISO_8859-9:1989// ISO-8859-9//
alias ISO_8859-9// ISO-8859-9//
@ -287,7 +288,7 @@ alias OSF00010009// ISO-8859-9//
module ISO-8859-9// INTERNAL ISO8859-9 1
module INTERNAL ISO-8859-9// ISO8859-9 1
# from to module cost
# from to module cost
alias ISO-IR-157// ISO-8859-10//
alias ISO_8859-10:1993// ISO-8859-10//
alias ISO_8859-10// ISO-8859-10//
@ -297,115 +298,115 @@ alias OSF0001000A// ISO-8859-10//
module ISO-8859-10// INTERNAL ISO8859-10 1
module INTERNAL ISO-8859-10// ISO8859-10 1
# from to module cost
# from to module cost
alias T.61// T.61-8BIT//
alias ISO-IR-103// T.61-8BIT//
module T.61-8BIT// INTERNAL T.61 1
module INTERNAL T.61-8BIT// T.61 1
# from to module cost
# from to module cost
alias ISO-IR-156// ISO_6937//
alias ISO_6937:1992// ISO_6937//
alias ISO6937// ISO_6937//
module ISO_6937// INTERNAL ISO_6937 1
module INTERNAL ISO_6937// ISO_6937 1
# from to module cost
# from to module cost
alias SHIFT-JIS// SJIS//
alias CP932// SJIS//
module SJIS// INTERNAL SJIS 1
module INTERNAL SJIS// SJIS 1
# from to module cost
# from to module cost
module KOI-8// INTERNAL KOI-8 1
module INTERNAL KOI-8// KOI-8 1
# from to module cost
# from to module cost
module KOI8-R// INTERNAL KOI8-R 1
module INTERNAL KOI8-R// KOI8-R 1
# from to module cost
# from to module cost
alias ISO-IR-19// LATIN-GREEK//
module LATIN-GREEK// INTERNAL LATIN-GREEK 1
module INTERNAL LATIN-GREEK// LATIN-GREEK 1
# from to module cost
# from to module cost
alias ISO-IR-27// LATIN-GREEK//
module LATIN-GREEK-1// INTERNAL LATIN-GREEK-1 1
module INTERNAL LATIN-GREEK-1// LATIN-GREEK-1 1
# from to module cost
# from to module cost
alias ROMAN8// HP-ROMAN8//
alias R8// HP-ROMAN8//
alias OSF10010001// HP-ROMAN8//
module HP-ROMAN8// INTERNAL HP-ROMAN8 1
module INTERNAL HP-ROMAN8// HP-ROMAN8 1
# from to module cost
# from to module cost
module EBCDIC-AT-DE// INTERNAL EBCDIC-AT-DE 1
module INTERNAL EBCDIC-AT-DE// EBCDIC-AT-DE 1
# from to module cost
# from to module cost
module EBCDIC-AT-DE-A// INTERNAL EBCDIC-AT-DE-A 1
module INTERNAL EBCDIC-AT-DE-A// EBCDIC-AT-DE-A 1
# from to module cost
# from to module cost
module EBCDIC-CA-FR// INTERNAL EBCDIC-CA-FR 1
module INTERNAL EBCDIC-CA-FR// EBCDIC-CA-FR 1
# from to module cost
# 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
# 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
# from to module cost
module EBCDIC-ES// INTERNAL EBCDIC-ES 1
module INTERNAL EBCDIC-ES// EBCDIC-ES 1
# from to module cost
# 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
# 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
# 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
# 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
# from to module cost
module EBCDIC-FR// INTERNAL EBCDIC-FR 1
module INTERNAL EBCDIC-FR// EBCDIC-FR 1
# from to module cost
# 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
# from to module cost
module EBCDIC-IT// INTERNAL EBCDIC-IT 1
module INTERNAL EBCDIC-IT// EBCDIC-IT 1
# from to module cost
# from to module cost
module EBCDIC-PT// INTERNAL EBCDIC-PT 1
module INTERNAL EBCDIC-PT// EBCDIC-PT 1
# from to module cost
# from to module cost
module EBCDIC-UK// INTERNAL EBCDIC-UK 1
module INTERNAL EBCDIC-UK// EBCDIC-UK 1
# from to module cost
# from to module cost
module EBCDIC-US// INTERNAL EBCDIC-US 1
module INTERNAL EBCDIC-US// EBCDIC-US 1
# from to module cost
# from to module cost
alias CP037// IBM037//
alias EBCDIC-CP-US// IBM037//
alias EBCDIC-CP-CA// IBM037//
@ -415,43 +416,43 @@ alias OSF10020025// IBM037//
module IBM037// INTERNAL IBM037 1
module INTERNAL IBM037// IBM037 1
# from to module cost
# 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
# from to module cost
alias EBCDIC-INT1// IBM256//
module IBM256// INTERNAL IBM256 1
module INTERNAL IBM256// IBM256 1
# from to module cost
# from to module cost
alias CP273// IBM273//
alias OSF10020111// IBM273//
module IBM273// INTERNAL IBM273 1
module INTERNAL IBM273// IBM273 1
# from to module cost
# 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
# 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
# from to module cost
alias EBCDIC-CP-DK// IBM277//
alias EBCDIC-CP-NO// IBM277//
alias OSF10020115// IBM277//
module IBM277// INTERNAL IBM277 1
module INTERNAL IBM277// IBM277 1
# from to module cost
# from to module cost
alias CP278// IBM278//
alias EBCDIC-CP-FI// IBM278//
alias EBCDIC-CP-SE// IBM278//
@ -459,75 +460,75 @@ alias OSF10020116// IBM278//
module IBM278// INTERNAL IBM278 1
module INTERNAL IBM278// IBM278 1
# from to module cost
# from to module cost
alias CP280// IBM280//
alias EBCDIC-CP-IT// IBM280//
alias OSF10020118// IBM280//
module IBM280// INTERNAL IBM280 1
module INTERNAL IBM280// IBM280 1
# from to module cost
# 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
# from to module cost
alias CP284// IBM284//
alias EBCDIC-CP-ES// IBM284//
alias OSF1002011C// IBM284//
module IBM284// INTERNAL IBM284 1
module INTERNAL IBM284// IBM284 1
# from to module cost
# from to module cost
alias CP285// IBM285//
alias EBCDIC-CP-GB// IBM285//
alias OSF1002011D// IBM285//
module IBM285// INTERNAL IBM285 1
module INTERNAL IBM285// IBM285 1
# from to module cost
# from to module cost
alias CP290// IBM290//
alias EBCDIC-JP-KANA// IBM290//
alias OSF10020122// IBM290//
module IBM290// INTERNAL IBM290 1
module INTERNAL IBM290// IBM290 1
# from to module cost
# from to module cost
alias CP297// IBM297//
alias EBCDIC-CP-FR// IBM297//
alias OSF10020129// IBM297//
module IBM297// INTERNAL IBM297 1
module INTERNAL IBM297// IBM297 1
# from to module cost
# from to module cost
alias CP420// IBM420//
alias EBCDIC-CP-AR1// IBM420//
alias OSF100201A4// IBM420//
module IBM420// INTERNAL IBM420 1
module INTERNAL IBM420// IBM420 1
# from to module cost
# 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
# from to module cost
alias CP424// IBM424//
alias EBCDIC-CP-HE// IBM424//
alias OSF100201A8// IBM424//
module IBM424// INTERNAL IBM424 1
module INTERNAL IBM424// IBM424 1
# from to module cost
# from to module cost
alias CP437// IBM437//
alias 437// IBM437//
alias OSF100201B5// IBM437//
module IBM437// INTERNAL IBM437 1
module INTERNAL IBM437// IBM437 1
# from to module cost
# from to module cost
alias CP500// IBM500//
alias 500// IBM500//
alias 500V1// IBM500//
@ -537,88 +538,88 @@ alias OSF100201F4// IBM500//
module IBM500// INTERNAL IBM500 1
module INTERNAL IBM500// IBM500 1
# from to module cost
# from to module cost
alias CP850// IBM850//
alias 850// IBM850//
alias OSF10020352// IBM850//
module IBM850// INTERNAL IBM850 1
module INTERNAL IBM850// IBM850 1
# from to module cost
# from to module cost
alias CP851// IBM851//
alias 851// IBM851//
module IBM851// INTERNAL IBM851 1
module INTERNAL IBM851// IBM851 1
# from to module cost
# from to module cost
alias CP852// IBM852//
alias 852// IBM852//
alias OSF10020354// IBM852//
module IBM852// INTERNAL IBM852 1
module INTERNAL IBM852// IBM852 1
# from to module cost
# from to module cost
alias CP855// IBM855//
alias 855// IBM855//
alias OSF10020357// IBM855//
module IBM855// INTERNAL IBM855 1
module INTERNAL IBM855// IBM855 1
# from to module cost
# from to module cost
alias CP857// IBM857//
alias 857// IBM857//
alias OSF10020359// IBM857//
module IBM857// INTERNAL IBM857 1
module INTERNAL IBM857// IBM857 1
# from to module cost
# from to module cost
alias CP860// IBM860//
alias 860// IBM860//
module IBM860// INTERNAL IBM860 1
module INTERNAL IBM860// IBM860 1
# from to module cost
# from to module cost
alias CP861// IBM861//
alias 861// IBM861//
alias OSF1002035D// IBM861//
module IBM861// INTERNAL IBM861 1
module INTERNAL IBM861// IBM861 1
# from to module cost
# from to module cost
alias CP862// IBM862//
alias 862// IBM862//
alias OSF1002035E// IBM862//
module IBM862// INTERNAL IBM862 1
module INTERNAL IBM862// IBM862 1
# from to module cost
# from to module cost
alias CP863// IBM863//
alias 863// IBM863//
alias OSF1002035F// IBM863//
module IBM863// INTERNAL IBM863 1
module INTERNAL IBM863// IBM863 1
# from to module cost
# from to module cost
alias CP864// IBM864//
alias 864// IBM864//
alias OSF10020360// IBM864//
module IBM864// INTERNAL IBM864 1
module INTERNAL IBM864// IBM864 1
# from to module cost
# from to module cost
alias CP865// IBM865//
alias 865// IBM865//
module IBM865// INTERNAL IBM865 1
module INTERNAL IBM865// IBM865 1
# from to module cost
# from to module cost
alias CP868// IBM868//
alias CP-AR// IBM868//
alias OSF10020364// IBM868//
module IBM868// INTERNAL IBM868 1
module INTERNAL IBM868// IBM868 1
# from to module cost
# from to module cost
alias CP869// IBM869//
alias 869// IBM869//
alias CP-GR// IBM869//
@ -626,7 +627,7 @@ alias OSF10020365// IBM869//
module IBM869// INTERNAL IBM869 1
module INTERNAL IBM869// IBM869 1
# from to module cost
# from to module cost
alias CP870// IBM870//
alias EBCDIC-CP-ROECE// IBM870//
alias EBCDIC-CP-YU// IBM870//
@ -634,186 +635,212 @@ alias OSF10020366// IBM870//
module IBM870// INTERNAL IBM870 1
module INTERNAL IBM870// IBM870 1
# from to module cost
# from to module cost
alias CP871// IBM871//
alias EBCDIC-CP-IS// IBM871//
alias OSF10020367// IBM871//
module IBM871// INTERNAL IBM871 1
module INTERNAL IBM871// IBM871 1
# from to module cost
# from to module cost
alias CP875// IBM875//
alias EBCDIC-GREEK// IBM875//
alias OSF1002036B// IBM875//
module IBM875// INTERNAL IBM875 1
module INTERNAL IBM875// IBM875 1
# from to module cost
# from to module cost
alias CP880// IBM880//
alias EBCDIC-CYRILLIC// IBM880//
alias OSF10020370// IBM880//
module IBM880// INTERNAL IBM880 1
module INTERNAL IBM880// IBM880 1
# from to module cost
# from to module cost
alias CP891// IBM891//
alias OSF1002037B// IBM891//
module IBM891// INTERNAL IBM891 1
module INTERNAL IBM891// IBM891 1
# from to module cost
# from to module cost
alias CP903// IBM903//
alias OSF10020387// IBM903//
module IBM903// INTERNAL IBM903 1
module INTERNAL IBM903// IBM903 1
# from to module cost
# from to module cost
alias CP904// IBM904//
alias 904// IBM904//
alias OSF10020388// IBM904//
module IBM904// INTERNAL IBM904 1
module INTERNAL IBM904// IBM904 1
# from to module cost
# 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
# from to module cost
alias CP918// IBM918//
alias EBCDIC-CP-AR2// IBM918//
alias OSF10020396// IBM918//
module IBM918// INTERNAL IBM918 1
module INTERNAL IBM918// IBM918 1
# from to module cost
# from to module cost
alias CP1004// IBM1004//
alias OS2LATIN1// IBM1004//
module IBM1004// INTERNAL IBM1004 1
module INTERNAL IBM1004// IBM1004 1
# from to module cost
# from to module cost
alias CP1026// IBM1026//
alias 1026// IBM1026//
alias OSF10020402// IBM1026//
module IBM1026// INTERNAL IBM1026 1
module INTERNAL IBM1026// IBM1026 1
# from to module cost
# from to module cost
alias CP1047// IBM1047//
alias 1047// IBM1047//
alias OSF10020417// IBM1047//
module IBM1047// INTERNAL IBM1047 1
module INTERNAL IBM1047// IBM1047 1
# from to module cost
# from to module cost
alias EUCKR// EUC-KR//
alias OSF0004000a// EUC-KR//
module EUC-KR// INTERNAL EUC-KR 1
module INTERNAL EUC-KR// EUC-KR 1
# from to module cost
# from to module cost
alias MSCP949// UHC//
alias CP949// UHC//
alias OSF100203B5// UHC//
module UHC// INTERNAL UHC 1
module INTERNAL UHC// UHC 1
# from to module cost
# from to module cost
alias MSCP1361// JOHAB//
alias CP1361// JOHAB//
module JOHAB// INTERNAL JOHAB 1
module INTERNAL JOHAB// JOHAB 1
# from to module cost
# from to module cost
alias BIG-FIVE// BIG5//
alias BIGFIVE// BIG5//
alias BIG-5// BIG5//
module BIG5// INTERNAL BIG5 1
module INTERNAL BIG5// BIG5 1
# from to module cost
# from to module cost
alias EUCJP// EUC-JP//
alias OSF00030010// EUC-JP//
module EUC-JP// INTERNAL EUC-JP 1
module INTERNAL EUC-JP// EUC-JP 1
# from to module cost
# from to module cost
alias EUCCN// EUC-CN//
module EUC-CN// INTERNAL EUC-CN 1
module INTERNAL EUC-CN// EUC-CN 1
# from to module cost
# from to module cost
alias EUCTW// EUC-TW//
alias OSF0005000a// EUC-TW//
module EUC-TW// INTERNAL EUC-TW 1
module INTERNAL EUC-TW// EUC-TW 1
# from to module cost
# from to module cost
alias MS-EE// CP1250//
module CP1250// INTERNAL CP1250 1
module INTERNAL CP1250// CP1250 1
# from to module cost
# from to module cost
alias MS-CYRL// CP1251//
module CP1251// INTERNAL CP1251 1
module INTERNAL CP1251// CP1251 1
# from to module cost
# from to module cost
alias MS-ANSI// CP1252//
module CP1252// INTERNAL CP1252 1
module INTERNAL CP1252// CP1252 1
# from to module cost
# from to module cost
alias MS-GREEK// CP1253//
module CP1253// INTERNAL CP1253 1
module INTERNAL CP1253// CP1253 1
# from to module cost
# from to module cost
alias MS-TURK// CP1254//
module CP1254// INTERNAL CP1254 1
module INTERNAL CP1254// CP1254 1
# from to module cost
# from to module cost
alias MS-TURK// CP1255//
module CP1255// INTERNAL CP1255 1
module INTERNAL CP1255// CP1255 1
# from to module cost
# from to module cost
alias MS-ARAB// CP1256//
module CP1256// INTERNAL CP1256 1
module INTERNAL CP1256// CP1256 1
# from to module cost
# from to module cost
alias WINBALTRIM// CP1257//
module CP1257// INTERNAL CP1257 1
module INTERNAL CP1257// CP1257 1
# from to module cost
# from to module cost
module CP874// INTERNAL CP874 1
module INTERNAL CP874// CP874 1
# from to module cost
# from to module cost
module CP737// INTERNAL CP737 1
module INTERNAL CP737// CP737 1
# from to module cost
# from to module cost
module CP775// INTERNAL CP775 1
module INTERNAL CP775// CP775 1
# from to module cost
# from to module cost
module ISO-2022-JP// INTERNAL ISO-2022-JP 1
module INTERNAL ISO-2022-JP// ISO-2022-JP 1
module ISO-2022-JP-2// INTERNAL ISO-2022-JP 1
module INTERNAL ISO-2022-JP-2// ISO-2022-JP 1
# from to module cost
# from to module cost
module ISO-2022-KR// INTERNAL ISO-2022-KR 1
module INTERNAL ISO-2022-KR// ISO-2022-KR 1
# from to module cost
# from to module cost
alias MAC// MACINTOSH//
module MACINTOSH// INTERNAL MACINTOSH 1
module INTERNAL MACINTOSH// MACINTOSH 1
# from to module cost
alias ISO-IR-143// IEC_P27-1//
module IEC_P27-1// INTERNAL IEC_P27-1 1
module INTERNAL IEC_P27-1// IEC_P27-1 1
# from to module cost
alias ISO-IR-179// BALTIC//
module BALTIC// INTERNAL BALTIC 1
module INTERNAL BALTIC// BALTIC 1
# from to module cost
alias ISO_9036// ASMO_449//
alias ARABIC7// ASMO_449//
alias ISO-IR-89// ASMO_449//
module ASMO_449// INTERNAL ASMO_449 1
module INTERNAL ASMO_449// ASMO_449 1
# from to module cost
alias ANSI_X3.110-1983// ANSI_X3.110//
alias ISO-IR-99// ANSI_X3.110//
alias CSA_T500-1983// ANSI_X3.110//
alias CSA_T500// ANSI_X3.110//
alias NAPLPS// ANSI_X3.110//
module ANSI_X3.110// INTERNAL ANSI_X3.110 1
module INTERNAL ANSI_X3.110// ANSI_X3.110 1

29
iconvdata/iec_p27-1.c Normal file
View file

@ -0,0 +1,29 @@
/* Conversion from and to IEC_P27-1.
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 <iec_p27-1.h>
#define CHARSET_NAME "IEC_P27-1//"
#define HAS_HOLES 0 /* All 256 character are defined. */
#include <8bit-gap.c>

View file

@ -278,7 +278,7 @@ static const char from_ucs4[][2] =
/* 0x0014 */ "\x14\x00", "\x15\x00", "\x16\x00", "\x17\x00", "\x18\x00",
/* 0x0019 */ "\x19\x00", "\x1a\x00", "\x1b\x00", "\x1c\x00", "\x1d\x00",
/* 0x001e */ "\x1e\x00", "\x1f\x00", "\x20\x00", "\x21\x00", "\x22\x00",
/* 0x0023 */ "\x23\x00", "\x24\x00", "\x25\x00", "\x26\x00", "\x27\x00",
/* 0x0023 */ "\xa6\x00", "\xa4\x00", "\x25\x00", "\x26\x00", "\x27\x00",
/* 0x0028 */ "\x28\x00", "\x29\x00", "\x2a\x00", "\x2b\x00", "\x2c\x00",
/* 0x002d */ "\x2d\x00", "\x2e\x00", "\x2f\x00", "\x30\x00", "\x31\x00",
/* 0x0032 */ "\x32\x00", "\x33\x00", "\x34\x00", "\x35\x00", "\x36\x00",
@ -296,7 +296,7 @@ static const char from_ucs4[][2] =
/* 0x006e */ "\x6e\x00", "\x6f\x00", "\x70\x00", "\x71\x00", "\x72\x00",
/* 0x0073 */ "\x73\x00", "\x74\x00", "\x75\x00", "\x76\x00", "\x77\x00",
/* 0x0078 */ "\x78\x00", "\x79\x00", "\x7a\x00", "\x00\x00", "\x7c\x00",
/* 0x007d */ "\x00\x00", "\x00\x00", "\x7f\x00", "\x00\x80", "\x00\x81",
/* 0x007d */ "\x00\x00", "\x00\x00", "\x7f\x00", "\x80\x00", "\x81\x00",
/* 0x0082 */ "\x82\x00", "\x83\x00", "\x84\x00", "\x85\x00", "\x86\x00",
/* 0x0087 */ "\x87\x00", "\x88\x00", "\x89\x00", "\x8a\x00", "\x8b\x00",
/* 0x008c */ "\x8c\x00", "\x8d\x00", "\x8e\x00", "\x8f\x00", "\x90\x00",
@ -444,7 +444,7 @@ static const char from_ucs4[][2] =
cp = "\xe0"; \
else if (ch == 0x2c7) \
cp = "\xcf\x20"; \
else if (ch < 0x2d8 || ch > 0x2dd) \
else if (ch < 0x2d8 || ch > 0x2dd || ch == 0x02dc) \
{ \
/* Illegal characters. */ \
result = GCONV_ILLEGAL_INPUT; \
@ -452,7 +452,7 @@ static const char from_ucs4[][2] =
} \
else \
{ \
static const char map[5] = "\xc6\xc7\xca\xce\xcd"; \
static const char map[6] = "\xc6\xc7\xca\xce\x00\xcd"; \
\
tmp[0] = map[ch - 0x2d8]; \
tmp[1] = ' '; \

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Geoffrey Keating <Geoff.Keating@anu.edu.au>, 1997.
@ -171,7 +171,7 @@ main (void)
memset (e2, '\0', sizeof (mp1));
for (i = -1; i < 100 && i < FRAC / 4; i++)
e2[(FRAC - i * 4 - 4) / mpbpl] |= (strchr (hexdig, exp1[i + 1]) - hexdig
e2[(FRAC - i * 4 - 4) / mpbpl] |= ((strchr (hexdig, exp1[i + 1]) - hexdig)
<< (FRAC - i * 4 - 4) % mpbpl);
if (mpn_cmp (ex, e2, SZ) >= 0)

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Geoffrey Keating <Geoff.Keating@anu.edu.au>, 1997.
@ -73,7 +73,7 @@ read_mpn_hex(mp_limb_t *x, const char *str)
memset (x, 0, sizeof (mp1));
for (i = -1; i < 100 && i < FRAC / 4; ++i)
x[(FRAC - i * 4 - 4) / mpbpl] |= (strchr (hexdig, str[i + 1]) - hexdig
x[(FRAC - i * 4 - 4) / mpbpl] |= ((strchr (hexdig, str[i + 1]) - hexdig)
<< (FRAC - i * 4 - 4) % mpbpl);
}

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Geoffrey Keating <Geoff.Keating@anu.edu.au>, 1997.
@ -188,8 +188,8 @@ main (void)
s3s = mpn_bitsize (s3, SZ);
c2s = mpn_bitsize (c2, SZ);
c3s = mpn_bitsize (c3, SZ);
if (s3s >= 0 && s2s - s3s < 54
|| c3s >= 0 && c2s - c3s < 54
if ((s3s >= 0 && s2s - s3s < 54)
|| (c3s >= 0 && c2s - c3s < 54)
|| 0)
{
#if PRINT_ERRORS
@ -239,9 +239,9 @@ main (void)
memset (c2, 0, sizeof (mp1));
for (i = 0; i < 100 && i < FRAC / 4; i++)
{
s2[(FRAC - i * 4 - 4) / mpbpl] |= (strchr (hexdig, sin1[i]) - hexdig
s2[(FRAC - i * 4 - 4) / mpbpl] |= ((strchr (hexdig, sin1[i]) - hexdig)
<< (FRAC - i * 4 - 4) % mpbpl);
c2[(FRAC - i * 4 - 4) / mpbpl] |= (strchr (hexdig, cos1[i]) - hexdig
c2[(FRAC - i * 4 - 4) / mpbpl] |= ((strchr (hexdig, cos1[i]) - hexdig)
<< (FRAC - i * 4 - 4) % mpbpl);
}

View file

@ -240,10 +240,12 @@ CONCAT(_nss_files_get,ENTNAME_r) (struct STRUCTURE *result, char *buffer,
/* If the last use was not by the getent function we need the
position the stream. */
if (last_use != getent)
if (fsetpos (stream, &position) < 0)
status = NSS_STATUS_UNAVAIL;
else
last_use = getent;
{
if (fsetpos (stream, &position) < 0)
status = NSS_STATUS_UNAVAIL;
else
last_use = getent;
}
if (status == NSS_STATUS_SUCCESS)
{

View file

@ -1,5 +1,5 @@
/* Declarations for getopt.
Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
Copyright (C) 1989,90,91,92,93,94,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
@ -55,6 +55,7 @@ extern int opterr;
extern int optopt;
#ifdef _GNU_SOURCE
/* Describe the long-named options requested by the application.
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
of `struct option' terminated by an element containing a name which is
@ -78,11 +79,11 @@ extern int optopt;
struct option
{
#if defined (__STDC__) && __STDC__
# if defined __STDC__ && __STDC__
const char *name;
#else
# else
char *name;
#endif
# endif
/* has_arg can't be an enum because some compilers complain about
type mismatches in all the code that assumes it is an int. */
int has_arg;
@ -92,19 +93,23 @@ struct option
/* Names for the values of the `has_arg' field of `struct option'. */
#define no_argument 0
#define required_argument 1
#define optional_argument 2
# define no_argument 0
# define required_argument 1
# define optional_argument 2
#endif /* GNU source */
#if defined (__STDC__) && __STDC__
#ifdef __GNU_LIBRARY__
#if defined __STDC__ && __STDC__
# ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
extern int getopt (int argc, char *const *argv, const char *shortopts);
#else /* not __GNU_LIBRARY__ */
# else /* not __GNU_LIBRARY__ */
extern int getopt ();
#endif /* __GNU_LIBRARY__ */
# endif /* __GNU_LIBRARY__ */
# ifdef _GNU_SOURCE
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
@ -116,12 +121,15 @@ extern int _getopt_internal (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind,
int long_only);
# endif
#else /* not __STDC__ */
extern int getopt ();
# ifdef _GNU_SOURCE
extern int getopt_long ();
extern int getopt_long_only ();
extern int _getopt_internal ();
# endif
#endif /* __STDC__ */
#ifdef __cplusplus

View file

@ -207,13 +207,12 @@ res_init()
#ifdef USELOOPBACK
_res.nsaddr.sin_addr = inet_makeaddr(IN_LOOPBACKNET, 1);
_res.nscount = 1;
_res.nsaddr.sin_port = htons(NAMESERVER_PORT);
#else
_res.nsaddr.sin_addr.s_addr = INADDR_ANY;
_res.nscount = 0;
_res.nsaddr.sin_port = 0;
#endif
_res.nsaddr.sin_family = AF_INET;
_res.nsaddr.sin_port = htons(NAMESERVER_PORT);
_res.ndots = 1;
_res.pfcode = 0;
@ -380,7 +379,7 @@ res_init()
continue;
}
}
if (nserv > 1)
if (nserv > _res.nscount)
_res.nscount = nserv;
#ifdef RESOLVSORT
_res.nsort = nsort;
@ -573,7 +572,7 @@ netinfo_res_init(haveenv, havesearch)
ni_namelist_free(&nl);
}
if (nserv > 1)
if (nserv > _res.nscount)
_res.nscount = nserv;
#ifdef RESOLVSORT

View file

@ -172,31 +172,28 @@ STRCOLL (s1, s2, l)
return w1 < w2 ? -1 : 1;
/* We have to increment the index counters. */
if ((forward && ++s1idx >= s1run->data[pass].number)
|| (!forward && --s1idx < 0))
if (forward)
{
if (forward)
if (++s1idx >= s1run->data[pass].number)
{
s1run = s1run->next;
s1idx = 0;
}
else
if (++s2idx >= s2run->data[pass].number)
{
s2run = s2run->next;
s2idx = 0;
}
}
else
{
if (--s1idx < 0)
{
s1run = s1run->prev;
if (s1run != NULL)
s1idx = s1run->data[pass].number - 1;
}
}
if ((forward && ++s2idx >= s2run->data[pass].number)
|| (!forward && --s2idx < 0))
{
if (forward)
{
s2run = s2run->next;
s2idx = 0;
}
else
if (--s2idx < 0)
{
s2run = s2run->prev;
if (s2run != NULL)

View file

@ -249,15 +249,17 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
written = print_val (w, dest, n, written);
/* We have to increment the index counters. */
if ((forward && ++idx >= run->data[pass].number)
|| (!forward && --idx < 0))
if (forward)
{
if (forward)
if (++idx >= run->data[pass].number)
{
run = run->next;
idx = 0;
}
else
}
else
{
if (--idx < 0)
{
run = run->prev;
if (run != NULL)