2002-04-18  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
	FROM_DIRECTION): Make the FROM direction stateless.
	* iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
	FROM_DIRECTION): Likewise.

	* iconvdata/cvs11643l1.c: Update comments.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
This commit is contained in:
Ulrich Drepper 2002-04-20 08:14:24 +00:00
parent 93a568aaba
commit 02779eaafe
8 changed files with 364 additions and 260 deletions

View File

@ -1,3 +1,10 @@
2002-04-18 Bruno Haible <bruno@clisp.org>
* iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
FROM_DIRECTION): Make the FROM direction stateless.
* iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
FROM_DIRECTION): Likewise.
2002-04-15 Bruno Haible <bruno@clisp.org> 2002-04-15 Bruno Haible <bruno@clisp.org>
* iconvdata/JISX0213.TXT: New file. * iconvdata/JISX0213.TXT: New file.
@ -45,6 +52,7 @@
(__cns11643l2*_to_ucs4_tab, __cns11643_from_ucs4p0_tab, (__cns11643l2*_to_ucs4_tab, __cns11643_from_ucs4p0_tab,
__cns11643_from_ucs4p2_tab): Regenerated. __cns11643_from_ucs4p2_tab): Regenerated.
(__cns11643_from_ucs4p2c_tab): New array. (__cns11643_from_ucs4p2c_tab): New array.
* iconvdata/cvs11643l1.c: Update comments.
* iconvdata/EUC-TW.irreversible: Remove two entries. * iconvdata/EUC-TW.irreversible: Remove two entries.
2002-04-15 Bruno Haible <bruno@clisp.org> 2002-04-15 Bruno Haible <bruno@clisp.org>
@ -96,6 +104,7 @@
* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.

3
NEWS
View File

@ -28,6 +28,9 @@ Version 2.3
* Isamu Hasegawa contributed a completely new and POSIX conforming * Isamu Hasegawa contributed a completely new and POSIX conforming
implementation of regex. implementation of regex.
* Bruno Haible upgraded the iconv and locale implementation to support
Unicode 3.2.
Version 2.2.5 Version 2.2.5

View File

@ -0,0 +1,2 @@
0x5C 0x005C
0x7E 0x007E

View File

@ -1,5 +1,5 @@
/* Mapping tables for CNS 11643, plane 1 handling. /* Mapping tables for CNS 11643, plane 1 handling.
Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -20,9 +20,9 @@
#include <stdint.h> #include <stdint.h>
/* To generate a Unicode 3.1 CNS11643.TXT, take /* To generate a Unicode 3.2 CNS11643.TXT, take
http://www.unicode.org/Public/Mappings/EASTASIA/OTHER/CNS11643.TXT http://www.unicode.org/Public/Mappings/EASTASIA/OTHER/CNS11643.TXT
and add the following lines (see Unicode 3.1 UNIHAN.TXT): and add the following lines (see Unicode 3.2 UNIHAN.TXT):
0x12728 0x4EA0 # <CJK Ideograph> 0x12728 0x4EA0 # <CJK Ideograph>
0x1272F 0x51AB # <CJK Ideograph> 0x1272F 0x51AB # <CJK Ideograph>
0x12734 0x52F9 # <CJK Ideograph> 0x12734 0x52F9 # <CJK Ideograph>

View File

@ -62,9 +62,7 @@
*statep = saved_state *statep = saved_state
/* During EUC-JISX0213 to UCS-4 conversion, the COUNT element of the state /* During UCS-4 to EUC-JISX0213 conversion, the COUNT element of the state
contains the last UCS-4 character, shifted by 3 bits.
During UCS-4 to EUC-JISX0213 conversion, the COUNT element of the state
contains the last two bytes to be output, shifted by 3 bits. */ contains the last two bytes to be output, shifted by 3 bits. */
/* Since this is a stateful encoding we have to provide code which resets /* Since this is a stateful encoding we have to provide code which resets
@ -74,17 +72,8 @@
if (data->__statep->__count != 0) \ if (data->__statep->__count != 0) \
{ \ { \
if (FROM_DIRECTION) \ if (FROM_DIRECTION) \
{ \ /* We don't use shift states in the FROM_DIRECTION. */ \
if (__builtin_expect (outbuf + 4 <= outend, 1)) \
{ \
/* Write out the last character. */ \
*((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \
data->__statep->__count = 0; \ data->__statep->__count = 0; \
} \
else \
/* We don't have enough room in the output buffer. */ \
status = __GCONV_FULL_OUTPUT; \
} \
else \ else \
{ \ { \
if (__builtin_expect (outbuf + 2 <= outend, 1)) \ if (__builtin_expect (outbuf + 2 <= outend, 1)) \
@ -109,14 +98,8 @@
#define LOOPFCT FROM_LOOP #define LOOPFCT FROM_LOOP
#define BODY \ #define BODY \
{ \ { \
uint32_t ch; \ uint32_t ch = *inptr; \
\ \
/* Determine whether there is a buffered character pending. */ \
ch = *statep >> 3; \
if (__builtin_expect (ch == 0, 1)) \
{ \
/* No - so look at the next input byte. */ \
ch = *inptr; \
if (ch < 0x80) \ if (ch < 0x80) \
/* Plain ASCII character. */ \ /* Plain ASCII character. */ \
++inptr; \ ++inptr; \
@ -229,11 +212,11 @@
outptr += 4; \ outptr += 4; \
continue; \ continue; \
} \ } \
\ else \
/* Otherwise store only the first character now, and \ { \
put the second one into the queue. */ \ result = __GCONV_FULL_OUTPUT; \
ch = u1; \ break; \
*statep = u2 << 3; \ } \
} \ } \
} \ } \
} \ } \
@ -249,7 +232,6 @@
++inptr; \ ++inptr; \
++*irreversible; \ ++*irreversible; \
continue; \ continue; \
} \
} \ } \
\ \
put32 (outptr, ch); \ put32 (outptr, ch); \

View File

@ -62,9 +62,7 @@
*statep = saved_state *statep = saved_state
/* During Shift_JISX0213 to UCS-4 conversion, the COUNT element of the state /* During UCS-4 to Shift_JISX0213 conversion, the COUNT element of the state
contains the last UCS-4 character, shifted by 3 bits.
During UCS-4 to Shift_JISX0213 conversion, the COUNT element of the state
contains the last two bytes to be output, shifted by 3 bits. */ contains the last two bytes to be output, shifted by 3 bits. */
/* Since this is a stateful encoding we have to provide code which resets /* Since this is a stateful encoding we have to provide code which resets
@ -74,17 +72,8 @@
if (data->__statep->__count != 0) \ if (data->__statep->__count != 0) \
{ \ { \
if (FROM_DIRECTION) \ if (FROM_DIRECTION) \
{ \ /* We don't use shift states in the FROM_DIRECTION. */ \
if (__builtin_expect (outbuf + 4 <= outend, 1)) \
{ \
/* Write out the last character. */ \
*((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \
data->__statep->__count = 0; \ data->__statep->__count = 0; \
} \
else \
/* We don't have enough room in the output buffer. */ \
status = __GCONV_FULL_OUTPUT; \
} \
else \ else \
{ \ { \
if (__builtin_expect (outbuf + 2 <= outend, 1)) \ if (__builtin_expect (outbuf + 2 <= outend, 1)) \
@ -109,14 +98,8 @@
#define LOOPFCT FROM_LOOP #define LOOPFCT FROM_LOOP
#define BODY \ #define BODY \
{ \ { \
uint32_t ch; \ uint32_t ch = *inptr; \
\ \
/* Determine whether there is a buffered character pending. */ \
ch = *statep >> 3; \
if (__builtin_expect (ch == 0, 1)) \
{ \
/* No - so look at the next input byte. */ \
ch = *inptr; \
if (ch < 0x80) \ if (ch < 0x80) \
{ \ { \
/* Plain ISO646-JP character. */ \ /* Plain ISO646-JP character. */ \
@ -147,7 +130,7 @@
ch2 = inptr[1]; \ ch2 = inptr[1]; \
\ \
/* The second byte must be in the range 0x{40..7E,80..FC}. */ \ /* The second byte must be in the range 0x{40..7E,80..FC}. */ \
if (__builtin_expect (ch2 < 0x40 || ch2 == 0x7f || ch2 > 0xfc, 0))\ if (__builtin_expect (ch2 < 0x40 || ch2 == 0x7f || ch2 > 0xfc, 0)) \
{ \ { \
/* This is an illegal character. */ \ /* This is an illegal character. */ \
if (! ignore_errors_p ()) \ if (! ignore_errors_p ()) \
@ -219,11 +202,11 @@
outptr += 4; \ outptr += 4; \
continue; \ continue; \
} \ } \
\ else \
/* Otherwise store only the first character now, and \ { \
put the second one into the queue. */ \ result = __GCONV_FULL_OUTPUT; \
ch = u1; \ break; \
*statep = u2 << 3; \ } \
} \ } \
} \ } \
else \ else \
@ -238,7 +221,6 @@
++inptr; \ ++inptr; \
++*irreversible; \ ++*irreversible; \
continue; \ continue; \
} \
} \ } \
\ \
put32 (outptr, ch); \ put32 (outptr, ch); \

View File

@ -1,3 +1,129 @@
2002-04-15 Bruno Haible <bruno@clisp.org>
* charmaps/EUC-JISX0213: New file.
* charmaps/SHIFT_JISX0213: New file.
2002-04-15 Bruno Haible <bruno@clisp.org>
* charmaps/BIG5-HKSCS: Update to Unicode 3.2.
2002-04-15 Bruno Haible <bruno@clisp.org>
* charmaps/EUC-TW: Add many mappings for characters introduced in
Unicode 3.1 and 3.2.
2002-04-15 Bruno Haible <bruno@clisp.org>
* charmaps/GB18030: Update for Unicode 3.2:
Add <U0220>, <U034F>, <U0363>..<U036F>, <U03D8>..<U03D9>,
<U03F6>, <U048A>..<U048B>, <U04C5>..<U04C6>, <U04C9>..<U04CA>,
<U04CD>..<U04CE>, <U0500>..<U050F>, <U066E>..<U066F>, <U07B1>,
<U10F7>..<U10F8>, <U1700>..<U170C>, <U170E>..<U1714>, <U1720>..<U1736>,
<U1740>..<U1753>, <U1760>..<U1770>, <U1772>..<U1773>, <U2047>,
<U204E>..<U2052>, <U2057>, <U205F>..<U2063>, <U2071>, <U20B0>..<U20B1>,
<U20E4>..<U20EA>, <U213D>..<U214B>, <U21F4>..<U21FF>, <U22F2>..<U22FF>,
<U237C>, <U239B>..<U23CE>, <U24EB>..<U24FE>, <U2596>..<U259F>,
<U25F8>..<U25FF>, <U2616>..<U2617>, <U2672>..<U267D>, <U2680>..<U2689>,
<U2768>..<U2775>, <U27D0>..<U27EB>, <U27F0>..<U27FF>, <U2900>..<U2AFF>,
<U303B>..<U303D>, <U3095>..<U3096>, <U309F>..<U30A0>, <U30FF>,
<U31F0>..<U31FF>, <U3251>..<U325F>, <U32B1>..<U32BF>, <UA4A2>..<UA4A3>,
<UA4B4>, <UA4C1>, <UA4C5>, <UFA30>..<UFA6A>, <UFDFC>, <UFE00>..<UFE0F>,
<UFE45>..<UFE46>, <UFE73>, <UFF5F>..<UFF60>. Update width table.
2002-04-15 Bruno Haible <bruno@clisp.org>
* charmaps/UTF-8: Update for Unicode 3.2:
Add <U0220>, <U034F>, <U0363>..<U036F>, <U03D8>..<U03D9>,
<U03F6>, <U048A>..<U048B>, <U04C5>..<U04C6>, <U04C9>..<U04CA>,
<U04CD>..<U04CE>, <U0500>..<U050F>, <U066E>..<U066F>, <U07B1>,
<U10F7>..<U10F8>, <U1700>..<U170C>, <U170E>..<U1714>, <U1720>..<U1736>,
<U1740>..<U1753>, <U1760>..<U1770>, <U1772>..<U1773>, <U2047>,
<U204E>..<U2052>, <U2057>, <U205F>..<U2063>, <U2071>, <U20B0>..<U20B1>,
<U20E4>..<U20EA>, <U213D>..<U214B>, <U21F4>..<U21FF>, <U22F2>..<U22FF>,
<U237C>, <U239B>..<U23CE>, <U24EB>..<U24FE>, <U2596>..<U259F>,
<U25F8>..<U25FF>, <U2616>..<U2617>, <U2672>..<U267D>, <U2680>..<U2689>,
<U2768>..<U2775>, <U27D0>..<U27EB>, <U27F0>..<U27FF>, <U2900>..<U2AFF>,
<U303B>..<U303D>, <U3095>..<U3096>, <U309F>..<U30A0>, <U30FF>,
<U31F0>..<U31FF>, <U3251>..<U325F>, <U32B1>..<U32BF>, <UA4A2>..<UA4A3>,
<UA4B4>, <UA4C1>, <UA4C5>, <UFA30>..<UFA6A>, <UFDFC>, <UFE00>..<UFE0F>,
<UFE45>..<UFE46>, <UFE73>, <UFF5F>..<UFF60>. Update width table.
Assign width 2 to <U3008>..<U300B>, <U3014>..<U3015>, <U3018>..<U301B>.
2002-04-15 Bruno Haible <bruno@clisp.org>
Update to Unicode 3.2.
* locales/translit_circle: Add <U3251>..<U325F>, <U32B1>..<U32BF>.
* locales/translit_cjk_compat: Change <UF951>. Add <UFA30>..<UFA6A>.
* locales/translit_combining: Add more combining characters.
* locales/translit_compat: Add <U2047>, <U2057>, <U205F>, <U2A0C>,
<U2A74>..<U2A76>.
* locales/translit_font: Add <U213D>..<U2140>, <U2145>..<U2149>.
* locales/translit_neutral: Add <U2060>..<U2063>, <U30A0>,
<UFE00>..<UFE0F>.
* locales/translit_small: Add small Hiragana letters and small
Katakana letters.
* locales/translit_wide: Add <UFF5F>..<UFF60>.
2002-04-15 Bruno Haible <bruno@clisp.org>
* locales/i18n (LC_CTYPE): Update to Unicode 3.2. In detail:
(upper): Add <U0220>, <U03D8>, <U048A>, <U04C5>, <U04C9>, <U04CD>,
<U0500>, <U0502>, <U0504>, <U0506>, <U0508>, <U050A>, <U050C>, <U050E>.
(lower): Add <U019E>, <U03D9>, <U048B>, <U04C6>, <U04CA>, <U04CE>,
<U0501>, <U0503>, <U0505>, <U0507>, <U0509>, <U050B>, <U050D>, <U050F>.
(alpha): Add <U0220>, <U03D8>..<U03D9>, <U048A>..<U048B>,
<U04C5>..<U04C6>, <U04C9>..<U04CA>, <U04CD>..<U04CE>, <U0500>..<U050F>,
<U066E>..<U066F>, <U07B1>, <U0B83>, <U10F7>..<U10F8>, <U1700>..<U170C>,
<U170E>..<U1711>, <U1720>..<U1731>, <U1740>..<U1751>, <U1760>..<U1770>,
<U17D7>, <U17DC>, <U2071>, <U213D>..<U213F>, <U2145>..<U2149>,
<U303B>..<U303C>, <U3095>..<U3096>, <U309F>, <U30FF>, <U31F0>..<U31FF>,
<UFA30>..<UFA6A>, <UFE73>.
(space): Add <U205F>.
(punct): Add <U034F>, <U0363>..<U036F>, <U03F6>, <U1712>..<U1714>,
<U1732>..<U1736>, <U1752>..<U1753>, <U1772>..<U1773>, <U2047>,
<U204E>..<U2052>, <U2057>, <U2060>..<U2063>, <U20B0>..<U20B1>,
<U20E4>..<U20EA>, <U2140>..<U2144>, <U214A>..<U214B>, <U21F4>..<U21FF>,
<U22F2>..<U22FF>, <U237C>, <U239B>..<U23CE>, <U24EB>..<U24FE>,
<U2596>..<U259F>, <U25F8>..<U25FF>, <U2616>..<U2617>, <U2672>..<U267D>,
<U2680>..<U2689>, <U2768>..<U2775>, <U27D0>..<U27EB>, <U27F0>..<U27FF>,
<U2900>..<U2AFF>, <U303D>, <U30A0>, <U3251>..<U325F>, <U32B1>..<U32BF>,
<UA4A2>..<UA4A3>, <UA4B4>, <UA4C1>, <UA4C5>, <UFDFC>, <UFE00>..<UFE0F>,
<UFF5F>..<UFF60>. Remove <U0B83>, <U17D7>, <U17DC>.
(graph): Add <U0220>, <U034F>, <U0363>..<U036F>, <U03D8>..<U03D9>,
<U03F6>, <U048A>..<U048B>, <U04C5>..<U04C6>, <U04C9>..<U04CA>,
<U04CD>..<U04CE>, <U0500>..<U050F>, <U066E>..<U066F>, <U07B1>,
<U10F7>..<U10F8>, <U1700>..<U170C>, <U170E>..<U1714>, <U1720>..<U1736>,
<U1740>..<U1753>, <U1760>..<U1770>, <U1772>..<U1773>, <U2047>,
<U204E>..<U2052>, <U2057>, <U2060>..<U2063>, <U2071>, <U20B0>..<U20B1>,
<U20E4>..<U20EA>, <U213D>..<U214B>, <U21F4>..<U21FF>, <U22F2>..<U22FF>,
<U237C>, <U239B>..<U23CE>, <U24EB>..<U24FE>, <U2596>..<U259F>,
<U25F8>..<U25FF>, <U2616>..<U2617>, <U2672>..<U267D>, <U2680>..<U2689>,
<U2768>..<U2775>, <U27D0>..<U27EB>, <U27F0>..<U27FF>, <U2900>..<U2AFF>,
<U303B>..<U303D>, <U3095>..<U3096>, <U309F>..<U30A0>, <U30FF>,
<U31F0>..<U31FF>, <U3251>..<U325F>, <U32B1>..<U32BF>, <UA4A2>..<UA4A3>,
<UA4B4>, <UA4C1>, <UA4C5>, <UFA30>..<UFA6A>, <UFDFC>, <UFE00>..<UFE0F>,
<UFE45>..<UFE46>, <UFE73>, <UFF5F>..<UFF60>.
(print): Likewise. Also add <U205F>.
(blank): Add <U205F>.
(toupper): Add (<U019E>,<U0220>), (<U03D9>,<U03D8>), (<U048B>,<U048A>),
(<U04C6>,<U04C5>), (<U04CA>,<U04C9>), (<U04CE>,<U04CD>),
(<U0501>,<U0500>), (<U0503>,<U0502>), (<U0505>,<U0504>),
(<U0507>,<U0506>), (<U0509>,<U0508>), (<U050B>,<U050A>),
(<U050D>,<U050C>), (<U050F>,<U050E>).
(totitle): Likewise.
(tolower): Add (<U0220>,<U019E>), (<U03D8>,<U03D9>), (<U048A>,<U048B>),
(<U04C5>,<U04C6>), (<U04C9>,<U04CA>), (<U04CD>,<U04CE>),
(<U0500>,<U0501>), (<U0502>,<U0503>), (<U0504>,<U0505>),
(<U0506>,<U0507>), (<U0508>,<U0509>), (<U050A>,<U050B>),
(<U050C>,<U050D>), (<U050E>,<U050F>).
(combining): Add <U034F>, <U0363>..<U036F>, <U1712>..<U1714>,
<U1732>..<U1734>, <U1752>..<U1753>, <U1772>..<U1773>, <U180B>..<U180D>,
<U20E4>..<U20EA>, <UFE00>..<UFE0F>. Remove <U06DD>, <U0B83>.
(combining_level3): Add <U034F>, <U1712>..<U1714>, <U1732>..<U1734>,
<U1752>..<U1753>, <U1772>..<U1773>, <U180B>..<U180D>, <U20E4>..<U20E6>,
<U20EA>, <UFE00>..<UFE0F>. Remove <U06DD>, <U0B83>.
* locales/tr_TR: Likewise.
2002-04-15 Bruno Haible <bruno@clisp.org> 2002-04-15 Bruno Haible <bruno@clisp.org>
* charmaps/IBM856: New file. * charmaps/IBM856: New file.

View File

@ -27,7 +27,7 @@ semctl - semctl i:iiii __semctl semctl
# proper socket implementations: # proper socket implementations:
accept - accept i:iBN __libc_accept __accept accept accept - accept i:iBN __libc_accept __accept accept
bind - bind i:ipi __bind bind bind - bind i:ipi __bind bind
connect - connect i:ipi __libc_connect __connect connect connect - connect i:ipi __libc_connect __connect_internal __connect connect
getpeername - getpeername i:ipp __getpeername getpeername getpeername - getpeername i:ipp __getpeername getpeername
getsockname - getsockname i:ipp __getsockname getsockname getsockname - getsockname i:ipp __getsockname getsockname
getsockopt - getsockopt i:iiiBN __getsockopt getsockopt getsockopt - getsockopt i:iiiBN __getsockopt getsockopt