diff options
| author | Ulrich Drepper <drepper@redhat.com> | 2002-05-15 06:02:35 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 2002-05-15 06:02:35 +0000 |
| commit | faaa6f628377e7037ad451f266bbc6b16f7f4d94 (patch) | |
| tree | 3cfe7ec0a4ef8677380ab4732673a026c0d63f25 /iconvdata | |
| parent | 30224e2bd3bfde9e02802fb9f3e45c78237f34f0 (diff) | |
| download | glibc-faaa6f628377e7037ad451f266bbc6b16f7f4d94.tar.xz glibc-faaa6f628377e7037ad451f266bbc6b16f7f4d94.zip | |
Update.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/testdata/EUC-JISX0213: New file.
* iconvdata/testdata/EUC-JISX0213..UTF8: New file.
* iconvdata/testdata/SHIFT_JISX0213: New file.
* iconvdata/testdata/SHIFT_JISX0213..UTF8: New file.
* iconvdata/testdata/ISO-2022-JP-3: New file.
* iconvdata/testdata/ISO-2022-JP-3..UTF8: New file.
* iconvdata/TESTS: Add EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3.
* iconvdata/run-iconv-test.sh: Skip the charmap test if the charmap
contains comments indicating precomposed characters.
2002-04-21 Bruno Haible <bruno@clisp.org>
* iconvdata/iso-2022-jp-3.c: New file.
* iconvdata/gconv-modules (ISO-2022-JP-3): New module.
* iconvdata/Makefile (modules): Add ISO-2022-JP-3.
(LDFLAGS-ISO-2022-JP-3.so): New variable.
(ISO-2022-JP-3.so): Depend on libJIS.so and libJISX0213.so.
(distribute): Add iso-2022-jp-3.c.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/tst-table-to.c (main): Restore handling of
transliterations, broken by last patch.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/TESTS: Add IBM922, IBM1124, IBM1129.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Don't advance inptr
when there is not enough room in the output buffer.
* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.
2002-04-20 Bruno Haible <bruno@clisp.org>
* iconv/skeleton.c ({FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}): New
macros.
(RESET_INPUT_BUFFER): Use them instead of {MIN,MAX}_NEEDED_{FROM,TO}.
Also make this macro work if FROM_DIRECTION evaluates to 0.
(gconv_init): Use the new macros instead of {MIN,MAX}_NEEDED_{FROM,TO}.
(FUNCTION_NAME): Likewise, in the handling of unaligned accesses and
of consume_incomplete.
* iconvdata/cp1255.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to
4, not 8.
* iconvdata/cp1258.c: Likewise.
* iconvdata/ibm930.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 3,
not 2.
* iconvdata/ibm933.c: Likewise.
* iconvdata/ibm935.c: Likewise.
* iconvdata/ibm937.c: Likewise.
* iconvdata/ibm939.c: Likewise.
* iconvdata/iso-2022-cn.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 6, not 4.
* iconvdata/iso-2022-cn-ext.c: Likewise.
* iconvdata/iso-2022-jp.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}.
* iconvdata/tcvn5712-1.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_FROM to 1, not 2.
* iconvdata/euc-jisx0213.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to 8, not 4.
* iconvdata/shift_jisx0213.c: Likewise.
2002-05-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/powerpc/Makefile (sysdeps_routines): Add divdi3, cmpdi2,
shdi3, fixdfdi, fixsfdi in csu dir.
(shared-only-routines): Likewise.
* sysdeps/wordsize-32/cmpdi2.c: New file.
* sysdeps/wordsize-32/shdi3.c: New file.
* sysdeps/wordsize-32/fixdfdi.c: New file.
* sysdeps/wordsize-32/fixsfdi.c: New file.
* sysdeps/powerpc/Versions (__divdi3, __moddi3, __udivdi3, __umoddi3,
__ashldi3, __ashrdi3, __lshrdi3, __cmpdi2, __ucmpdi2, __fixdfdi,
__fixsfdi, __fixunsdfdi, __fixunssfdi): Export at GLIBC_2.0.
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl, __new_semctl):
Only use va_arg if the argument will be used [PR libc/3259].
2002-05-06 Michael A. Schmidt <mmaass@us.ibm.com>
* catgets/catgets.c (catopen): Free buffer if internal catalog
open fails.
2002-05-14 Ulrich Drepper <drepper@redhat.com>
* debug/xtrace.sh: Make more robust. For realtime tracking use
non-buffering methods.
* debug/pcprofiledump.c: Implement -u option.
Patch by Roger Luethi <rl@hellgate.ch>.
Diffstat (limited to 'iconvdata')
| -rw-r--r-- | iconvdata/Makefile | 7 | ||||
| -rw-r--r-- | iconvdata/TESTS | 10 | ||||
| -rw-r--r-- | iconvdata/cp1255.c | 28 | ||||
| -rw-r--r-- | iconvdata/cp1258.c | 28 | ||||
| -rw-r--r-- | iconvdata/euc-jisx0213.c | 30 | ||||
| -rw-r--r-- | iconvdata/gconv-modules | 4 | ||||
| -rw-r--r-- | iconvdata/ibm930.c | 30 | ||||
| -rw-r--r-- | iconvdata/ibm933.c | 30 | ||||
| -rw-r--r-- | iconvdata/ibm935.c | 28 | ||||
| -rw-r--r-- | iconvdata/ibm937.c | 28 | ||||
| -rw-r--r-- | iconvdata/ibm939.c | 28 | ||||
| -rw-r--r-- | iconvdata/iso-2022-cn-ext.c | 28 | ||||
| -rw-r--r-- | iconvdata/iso-2022-cn.c | 28 | ||||
| -rw-r--r-- | iconvdata/iso-2022-jp-3.c | 793 | ||||
| -rw-r--r-- | iconvdata/iso-2022-jp.c | 43 | ||||
| -rwxr-xr-x | iconvdata/run-iconv-test.sh | 5 | ||||
| -rw-r--r-- | iconvdata/shift_jisx0213.c | 30 | ||||
| -rw-r--r-- | iconvdata/tcvn5712-1.c | 27 | ||||
| -rw-r--r-- | iconvdata/testdata/EUC-JISX0213 | 730 | ||||
| -rw-r--r-- | iconvdata/testdata/EUC-JISX0213..UTF8 | 730 | ||||
| -rw-r--r-- | iconvdata/testdata/ISO-2022-JP-3 | 730 | ||||
| -rw-r--r-- | iconvdata/testdata/ISO-2022-JP-3..UTF8 | 730 | ||||
| -rw-r--r-- | iconvdata/testdata/SHIFT_JISX0213 | 726 | ||||
| -rw-r--r-- | iconvdata/testdata/SHIFT_JISX0213..UTF8 | 726 | ||||
| -rw-r--r-- | iconvdata/tst-table-to.c | 5 |
25 files changed, 5422 insertions, 160 deletions
diff --git a/iconvdata/Makefile b/iconvdata/Makefile index bb62c1d30e..20281ecf88 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -50,7 +50,8 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ ISO-2022-CN libISOIR165 UTF-16 UNICODE UTF-32 UTF-7 BIG5HKSCS \ GB18030 ISO-2022-CN-EXT VISCII GBBIG5 CP10007 KOI8-T \ GEORGIAN-PS GEORGIAN-ACADEMY ISO-IR-209 MAC-SAMI ARMSCII-8 \ - TCVN5712-1 libJISX0213 EUC-JISX0213 SHIFT_JISX0213 + TCVN5712-1 libJISX0213 EUC-JISX0213 SHIFT_JISX0213 \ + ISO-2022-JP-3 modules.so := $(addsuffix .so, $(modules)) @@ -89,6 +90,8 @@ $(objpfx)SHIFT_JISX0213.so: $(objpfx)libJISX0213.so LDFLAGS-ISO-2022-JP.so = $(LDFLAGS-rpath-ORIGIN) $(objpfx)ISO-2022-JP.so: $(objpfx)libJIS.so $(objpfx)libGB.so \ $(objpfx)libCNS.so $(objpfx)libKSC.so +LDFLAGS-ISO-2022-JP-3.so = $(LDFLAGS-rpath-ORIGIN) +$(objpfx)ISO-2022-JP-3.so: $(objpfx)libJIS.so $(objpfx)libJISX0213.so LDFLAGS-ISO-2022-KR.so = $(LDFLAGS-rpath-ORIGIN) $(objpfx)ISO-2022-KR.so: $(objpfx)libKSC.so LDFLAGS-ISO-2022-CN.so = $(LDFLAGS-rpath-ORIGIN) @@ -159,7 +162,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \ koi8-t.c georgian-ps.c georgian-academy.c iso-ir-209.c \ mac-sami.c ibm1160.c ibm1160.h ibm1161.c ibm1161.h \ ibm1163.c ibm1163.h ibm1164.c ibm1164.h jisx0213.c jisx0213.h \ - euc-jisx0213.c shift_jisx0213.c + euc-jisx0213.c shift_jisx0213.c iso-2022-jp-3.c # We build the transformation modules only when we build shared libs. ifeq (yes,$(build-shared)) diff --git a/iconvdata/TESTS b/iconvdata/TESTS index d0e9e188e0..8d6df22432 100644 --- a/iconvdata/TESTS +++ b/iconvdata/TESTS @@ -1,5 +1,5 @@ # Available tests for iconv(1) (and therefore iconv(3)) in GNU libc. -# Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1998-2002 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. # @@ -96,14 +96,17 @@ GBK GBK Y UTF8 BIG5HKSCS BIG5HKSCS Y UTF8 UTF-7 UTF-7 N UTF8 IBM856 IBM856 N UTF8 +IBM922 IBM922 Y UTF8 IBM930 IBM930 N UTF8 IBM933 IBM933 N UTF8 IBM935 IBM935 N UTF8 IBM937 IBM937 N UTF8 IBM939 IBM939 N UTF8 -IBM1046 IBM1046 Y UTF8 IBM932 IBM932 Y UTF8 IBM943 IBM943 Y UTF8 +IBM1046 IBM1046 Y UTF8 +IBM1124 IBM1124 Y UTF8 +IBM1129 IBM1129 Y UTF8 IBM1160 IBM1160 N UTF8 IBM1161 IBM1161 Y UTF8 IBM1132 IBM1132 N UTF8 @@ -112,3 +115,6 @@ IBM1162 IBM1162 Y UTF8 IBM1163 IBM1163 Y UTF8 IBM1164 IBM1164 N UTF8 TCVN-5712 TCVN-5712 Y UTF8 +EUC-JISX0213 EUC-JISX0213 Y UTF8 +SHIFT_JISX0213 SHIFT_JISX0213 Y UTF8 +ISO-2022-JP-3 ISO-2022-JP-3 N UTF8 diff --git a/iconvdata/cp1255.c b/iconvdata/cp1255.c index f8a7695399..af69e833da 100644 --- a/iconvdata/cp1255.c +++ b/iconvdata/cp1255.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1255. - Copyright (C) 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998, and Bruno Haible <haible@clisp.cons.org>, 2001. @@ -31,10 +31,14 @@ #define TO_LOOP to_cp1255 #define DEFINE_INIT 1 #define DEFINE_FINI 1 -#define MIN_NEEDED_FROM 1 -#define MAX_NEEDED_FROM 1 -#define MIN_NEEDED_TO 4 -#define MAX_NEEDED_TO 4 +#define FROM_LOOP_MIN_NEEDED_FROM 1 +#define FROM_LOOP_MAX_NEEDED_FROM 1 +#define FROM_LOOP_MIN_NEEDED_TO 4 +#define FROM_LOOP_MAX_NEEDED_TO 4 +#define TO_LOOP_MIN_NEEDED_FROM 4 +#define TO_LOOP_MAX_NEEDED_FROM 4 +#define TO_LOOP_MIN_NEEDED_TO 1 +#define TO_LOOP_MAX_NEEDED_TO 3 #define PREPARE_LOOP \ int saved_state; \ int *statep = &data->__statep->__count; @@ -183,9 +187,10 @@ static const struct { unsigned int idx; unsigned int len; } comp_table[8] = { { COMP_TABLE_IDX_05C2, COMP_TABLE_LEN_05C2 }, }; -#define MIN_NEEDED_INPUT MIN_NEEDED_FROM -#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO -#define MAX_NEEDED_OUTPUT 8 +#define MIN_NEEDED_INPUT FROM_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT FROM_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT FROM_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT FROM_LOOP_MAX_NEEDED_TO #define LOOPFCT FROM_LOOP #define BODY \ { \ @@ -417,9 +422,10 @@ static const struct { { 0xFB4E, 0x05E4, 5, -1 }, }; -#define MIN_NEEDED_INPUT MIN_NEEDED_TO -#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM -#define MAX_NEEDED_OUTPUT 3 +#define MIN_NEEDED_INPUT TO_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT TO_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT TO_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT TO_LOOP_MAX_NEEDED_TO #define LOOPFCT TO_LOOP #define BODY \ { \ diff --git a/iconvdata/cp1258.c b/iconvdata/cp1258.c index 8351f279a4..af206a2aff 100644 --- a/iconvdata/cp1258.c +++ b/iconvdata/cp1258.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1258. - Copyright (C) 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998, and Bruno Haible <haible@clisp.cons.org>, 2001. @@ -32,10 +32,14 @@ #define TO_LOOP to_cp1258 #define DEFINE_INIT 1 #define DEFINE_FINI 1 -#define MIN_NEEDED_FROM 1 -#define MAX_NEEDED_FROM 1 -#define MIN_NEEDED_TO 4 -#define MAX_NEEDED_TO 4 +#define FROM_LOOP_MIN_NEEDED_FROM 1 +#define FROM_LOOP_MAX_NEEDED_FROM 1 +#define FROM_LOOP_MIN_NEEDED_TO 4 +#define FROM_LOOP_MAX_NEEDED_TO 4 +#define TO_LOOP_MIN_NEEDED_FROM 4 +#define TO_LOOP_MAX_NEEDED_FROM 4 +#define TO_LOOP_MIN_NEEDED_TO 1 +#define TO_LOOP_MAX_NEEDED_TO 2 #define PREPARE_LOOP \ int saved_state; \ int *statep = &data->__statep->__count; @@ -358,9 +362,10 @@ static const struct { COMP_TABLE_IDX_0323, COMP_TABLE_LEN_0323 } }; -#define MIN_NEEDED_INPUT MIN_NEEDED_FROM -#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO -#define MAX_NEEDED_OUTPUT 8 +#define MIN_NEEDED_INPUT FROM_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT FROM_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT FROM_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT FROM_LOOP_MAX_NEEDED_TO #define LOOPFCT FROM_LOOP #define BODY \ { \ @@ -748,9 +753,10 @@ static const struct { 0x1fee, 0xa8, 0xec }, }; -#define MIN_NEEDED_INPUT MIN_NEEDED_TO -#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM -#define MAX_NEEDED_OUTPUT 2 +#define MIN_NEEDED_INPUT TO_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT TO_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT TO_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT TO_LOOP_MAX_NEEDED_TO #define LOOPFCT TO_LOOP #define BODY \ { \ diff --git a/iconvdata/euc-jisx0213.c b/iconvdata/euc-jisx0213.c index a0062c8847..7f56f3cfe9 100644 --- a/iconvdata/euc-jisx0213.c +++ b/iconvdata/euc-jisx0213.c @@ -44,9 +44,14 @@ #define TO_LOOP to_euc_jisx0213 #define DEFINE_INIT 1 #define DEFINE_FINI 1 -#define MIN_NEEDED_FROM 1 -#define MAX_NEEDED_FROM 3 -#define MIN_NEEDED_TO 4 +#define FROM_LOOP_MIN_NEEDED_FROM 1 +#define FROM_LOOP_MAX_NEEDED_FROM 3 +#define FROM_LOOP_MIN_NEEDED_TO 4 +#define FROM_LOOP_MAX_NEEDED_TO 8 +#define TO_LOOP_MIN_NEEDED_FROM 4 +#define TO_LOOP_MAX_NEEDED_FROM 4 +#define TO_LOOP_MIN_NEEDED_TO 1 +#define TO_LOOP_MAX_NEEDED_TO 3 #define PREPARE_LOOP \ int saved_state; \ int *statep = &data->__statep->__count; @@ -92,9 +97,10 @@ /* First define the conversion function from EUC-JISX0213 to UCS-4. */ -#define MIN_NEEDED_INPUT MIN_NEEDED_FROM -#define MAX_NEEDED_INPUT MAX_NEEDED_FROM -#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO +#define MIN_NEEDED_INPUT FROM_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT FROM_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT FROM_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT FROM_LOOP_MAX_NEEDED_TO #define LOOPFCT FROM_LOOP #define BODY \ { \ @@ -195,8 +201,6 @@ break; \ } \ \ - inptr = endp; \ - \ if (ch < 0x80) \ { \ /* It's a combining character. */ \ @@ -206,6 +210,7 @@ /* See whether we have room for two characters. */ \ if (outptr + 8 <= outend) \ { \ + inptr = endp; \ put32 (outptr, u1); \ outptr += 4; \ put32 (outptr, u2); \ @@ -218,6 +223,8 @@ break; \ } \ } \ + \ + inptr = endp; \ } \ } \ else \ @@ -288,9 +295,10 @@ static const struct { 0xa6f5, 0xa6f8 }, /* 0x12678 = 0x12675 U+309A */ }; -#define MIN_NEEDED_INPUT MIN_NEEDED_TO -#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM -#define MAX_NEEDED_OUTPUT MAX_NEEDED_FROM +#define MIN_NEEDED_INPUT TO_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT TO_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT TO_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT TO_LOOP_MAX_NEEDED_TO #define LOOPFCT TO_LOOP #define BODY \ { \ diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules index 5bfe058fae..a8def32ccb 100644 --- a/iconvdata/gconv-modules +++ b/iconvdata/gconv-modules @@ -1209,6 +1209,10 @@ module ISO-2022-JP-2// INTERNAL ISO-2022-JP 1 module INTERNAL ISO-2022-JP-2// ISO-2022-JP 1 # from to module cost +module ISO-2022-JP-3// INTERNAL ISO-2022-JP-3 1 +module INTERNAL ISO-2022-JP-3// ISO-2022-JP-3 1 + +# from to module cost alias CSISO2022KR// ISO-2022-KR// alias ISO2022KR// ISO-2022-KR// module ISO-2022-KR// INTERNAL ISO-2022-KR 1 diff --git a/iconvdata/ibm930.c b/iconvdata/ibm930.c index f511e48ae2..1be42e2d2c 100644 --- a/iconvdata/ibm930.c +++ b/iconvdata/ibm930.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM930. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000-2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa <washi@yamato.ibm.co.jp>, 2000. @@ -32,10 +32,14 @@ #define CHARSET_NAME "IBM930//" #define FROM_LOOP from_ibm930 #define TO_LOOP to_ibm930 -#define MIN_NEEDED_FROM 1 -#define MAX_NEEDED_FROM 2 -#define MIN_NEEDED_TO 4 -#define MAX_NEEDED_TO 4 +#define FROM_LOOP_MIN_NEEDED_FROM 1 +#define FROM_LOOP_MAX_NEEDED_FROM 2 +#define FROM_LOOP_MIN_NEEDED_TO 4 +#define FROM_LOOP_MAX_NEEDED_TO 4 +#define TO_LOOP_MIN_NEEDED_FROM 4 +#define TO_LOOP_MAX_NEEDED_FROM 4 +#define TO_LOOP_MIN_NEEDED_TO 1 +#define TO_LOOP_MAX_NEEDED_TO 3 #define PREPARE_LOOP \ int save_curcs; \ int *curcsp = &data->__statep->__count; @@ -89,9 +93,10 @@ enum /* First, define the conversion function from IBM-930 to UCS4. */ -#define MIN_NEEDED_INPUT MIN_NEEDED_FROM -#define MAX_NEEDED_INPUT MAX_NEEDED_FROM -#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO +#define MIN_NEEDED_INPUT FROM_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT FROM_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT FROM_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT FROM_LOOP_MAX_NEEDED_TO #define LOOPFCT FROM_LOOP #define BODY \ { \ @@ -190,9 +195,10 @@ enum #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 MIN_NEEDED_INPUT TO_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT TO_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT TO_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT TO_LOOP_MAX_NEEDED_TO #define LOOPFCT TO_LOOP #define BODY \ { \ @@ -219,7 +225,7 @@ enum ++rp1; \ \ /* Use the UCS4 table for single byte. */ \ - if (__builtin_expect (ch < rp1->start, 0) \ + if (__builtin_expect (ch < rp1->start, 0) \ || (cp = __ucs4_to_ibm930sb[ch + rp1->idx], \ __builtin_expect (cp[0], L'\1') == L'\0' && ch != '\0')) \ { \ diff --git a/iconvdata/ibm933.c b/iconvdata/ibm933.c index 804c2bd3eb..43cf2b6c7a 100644 --- a/iconvdata/ibm933.c +++ b/iconvdata/ibm933.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM933. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000-2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa <washi@yamato.ibm.co.jp>, 2000. @@ -32,10 +32,14 @@ #define CHARSET_NAME "IBM933//" #define FROM_LOOP from_ibm933 #define TO_LOOP to_ibm933 -#define MIN_NEEDED_FROM 1 -#define MAX_NEEDED_FROM 2 -#define MIN_NEEDED_TO 4 -#define MAX_NEEDED_TO 4 +#define FROM_LOOP_MIN_NEEDED_FROM 1 +#define FROM_LOOP_MAX_NEEDED_FROM 2 +#define FROM_LOOP_MIN_NEEDED_TO 4 +#define FROM_LOOP_MAX_NEEDED_TO 4 +#define TO_LOOP_MIN_NEEDED_FROM 4 +#define TO_LOOP_MAX_NEEDED_FROM 4 +#define TO_LOOP_MIN_NEEDED_TO 1 +#define TO_LOOP_MAX_NEEDED_TO 3 #define PREPARE_LOOP \ int save_curcs; \ int *curcsp = &data->__statep->__count; @@ -88,9 +92,10 @@ enum }; /* First, define the conversion function from IBM-933 to UCS4. */ -#define MIN_NEEDED_INPUT MIN_NEEDED_FROM -#define MAX_NEEDED_INPUT MAX_NEEDED_FROM -#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO +#define MIN_NEEDED_INPUT FROM_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT FROM_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT FROM_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT FROM_LOOP_MAX_NEEDED_TO #define LOOPFCT FROM_LOOP #define BODY \ { \ @@ -192,9 +197,10 @@ enum #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 MIN_NEEDED_INPUT TO_LOOP_MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT TO_LOOP_MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT TO_LOOP_MIN_NEEDED_TO +#define MAX_NEEDED_OUTPUT TO_LOOP_MAX_NEEDED_TO #define LOOPFCT TO_LOOP #define BODY \ { \ @@ -221,7 +227,7 @@ enum ++rp1; \ \ /* Use the UCS4 table for single byte. */ \ - if (__builtin_expect (ch < rp1->start, 0) \ + if (__builtin_expect (ch < rp1->start, 0) \ || (cp = __ucs4_to_ibm933sb[ch + rp1->idx], \ __builtin_expect (cp[0], L'\1') == L'\0' && ch != '\0')) \ { \ diff --git a/iconvdata/ibm935.c b/iconvdata/ibm935.c index 70d6149eef..4585a49461 100644 --- a/iconvdata/ibm935.c +++ b/ |
