diff options
43 files changed, 442 insertions, 276 deletions
@@ -1,3 +1,35 @@ +2007-07-26 Jakub Jelinek <jakub@redhat.com> + + * iconvdata/gbk.c (BODY): Make buf and cp char instead of unsigned + char array resp. pointer. + * iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of + char array. + * iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument + to const unsigned char **. + (ucs4_to_cns11643): Change second argument to unsigned char *. + * iconvdata/euc-tw.c (BODY): Change endp type to + const unsigned char *. + * iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument + to unsigned char *. + * iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define. + * iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array. + * iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp + types to unsigned char pointers/arrays instead of char. + * iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument + to unsigned char *. + * iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise. + * iconvdata/jis0212.h: Include assert.h. + (ucs4_to_jisx0212): Change second argument to unsigned char *. + assert that if cp[0] is not '\0', cp[1] is not '\0' either instead + of trying to handle that. + * iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to + shut up a warning. + * iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek, + from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to + two dimensional const unsigned char arrays. + (BODY): Cast "" to (const unsigned char *) for assignment to cp. + Initialize endp to inptr to shut up a warning. + 2007-07-20 Jakub Jelinek <jakub@redhat.com> [BZ #4772] diff --git a/iconvdata/cns11643.h b/iconvdata/cns11643.h index 125f55f228..9d7968c225 100644 --- a/iconvdata/cns11643.h +++ b/iconvdata/cns11643.h @@ -1,5 +1,6 @@ /* Access functions for CNS 11643 handling. - Copyright (C) 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc. + Copyright (C) 1998,1999,2000,2001,2002,2003,2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -41,7 +42,7 @@ extern const uint32_t __cns11643l15_to_ucs4_tab[]; static inline uint32_t __attribute ((always_inline)) -cns11643_to_ucs4 (const char **s, size_t avail, unsigned char offset) +cns11643_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset) { unsigned char ch = *(*s); unsigned char ch2; @@ -142,7 +143,7 @@ extern const char __cns11643_from_ucs4p2c_tab[][3]; static inline size_t __attribute ((always_inline)) -ucs4_to_cns11643 (uint32_t wch, char *s, size_t avail) +ucs4_to_cns11643 (uint32_t wch, unsigned char *s, size_t avail) { unsigned int ch = (unsigned int) wch; char buf[2]; diff --git a/iconvdata/euc-jp-ms.c b/iconvdata/euc-jp-ms.c index 1c1cc2be3d..79907bdf5e 100644 --- a/iconvdata/euc-jp-ms.c +++ b/iconvdata/euc-jp-ms.c @@ -1,5 +1,5 @@ /* Mapping tables for EUCJP-MS handling. - Copyright (C) 1998,1999,2000,2001,2003 Free Software Foundation, Inc. + Copyright (C) 1998,1999,2000,2001,2003,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>, 2003. @@ -158,7 +158,7 @@ static const uint16_t cjk_block_ibm[268] = /* 0x8ff4fd */ 0xfa2d, 0x9ed1 }; -static const char from_ucs4_lat1[256][2] = +static const unsigned char from_ucs4_lat1[256][2] = { /* start = 0x0000, end = 0x00ff */ [ 0] = "\x00\x00", [ 1] = "\x01\x00", [ 2] = "\x02\x00", @@ -244,7 +244,7 @@ static const char from_ucs4_lat1[256][2] = [ 255] = "\xab\x73" }; -static const char from_ucs4_greek[864][2] = +static const unsigned char from_ucs4_greek[864][2] = { /* start = 0x0100, end = 0x045f */ [ 0] = "\xaa\x27", [ 1] = "\xab\x27", [ 2] = "\xaa\x25", @@ -351,7 +351,7 @@ static const char from_ucs4_greek[864][2] = [ 860] = "\xa7\x7c", [ 862] = "\xa7\x7d", [ 863] = "\xa7\x7e" }; -static const char from_ucs4_cjk[32662][2] = +static const unsigned char from_ucs4_cjk[32662][2] = { /* start = 0x2010, end = 0x9fa5 */ [ 0] = "\xa1\xbe", [ 4] = "\xa1\xbd", [ 5] = "\xa1\xbd", @@ -4556,7 +4556,7 @@ static const char from_ucs4_cjk[32662][2] = [32661] = "\xed\x63" }; -static const char from_ucs4_cjkcpt[261][2] = +static const unsigned char from_ucs4_cjkcpt[261][2] = { /* start = 0xf929, end = 0xfa2d */ [ 0] = "\xf4\x45", [ 179] = "\xf4\x72", [ 229] = "\xf4\x34", @@ -4573,7 +4573,7 @@ static const char from_ucs4_cjkcpt[261][2] = [ 260] = "\xf4\x7d" }; -static const char from_ucs4_extra[229][2] = +static const unsigned char from_ucs4_extra[229][2] = { /* start = 0xff01, end = 0xffe5 */ [ 0] = "\xa1\xaa", [ 1] = "\xf4\x2a", [ 2] = "\xa1\xf4", @@ -4719,7 +4719,7 @@ static const char from_ucs4_extra[229][2] = } \ else \ { \ - const unsigned char *endp; \ + const unsigned char *endp = inptr; \ int mblen = 1; \ \ if (__builtin_expect(ch == 0x8f, 0)) \ @@ -4758,7 +4758,7 @@ static const char from_ucs4_extra[229][2] = ch = __UNKNOWN_10646_CHAR; \ } \ else \ - ch = __UNKNOWN_10646_CHAR; \ + ch = __UNKNOWN_10646_CHAR; \ } \ else if (ch2 <= 0xfe) \ { \ @@ -4766,7 +4766,7 @@ static const char from_ucs4_extra[229][2] = endp = inptr + mblen; \ } \ else \ - ch = __UNKNOWN_10646_CHAR; \ + ch = __UNKNOWN_10646_CHAR; \ } \ } \ else if (__builtin_expect(0xa1 <= ch, 1)) \ @@ -4804,10 +4804,10 @@ static const char from_ucs4_extra[229][2] = endp = inptr + mblen; \ } \ else \ - ch = __UNKNOWN_10646_CHAR; \ + ch = __UNKNOWN_10646_CHAR; \ } \ else \ - ch = __UNKNOWN_10646_CHAR; \ + ch = __UNKNOWN_10646_CHAR; \ \ if (__builtin_expect (ch, 1) == 0) \ { \ @@ -4880,7 +4880,7 @@ static const char from_ucs4_extra[229][2] = { \ UNICODE_TAG_HANDLER (ch, 4); \ /* Illegal character. */ \ - cp = ""; \ + cp = (const unsigned char *) ""; \ } \ } \ else \ diff --git a/iconvdata/euc-kr.c b/iconvdata/euc-kr.c index 289ff4c419..8e9120b732 100644 --- a/iconvdata/euc-kr.c +++ b/iconvdata/euc-kr.c @@ -1,5 +1,6 @@ /* Mapping tables for EUC-KR handling. - Copyright (C) 1998, 1999, 2000-2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000-2002, 2003, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jungshik Shin <jshin@pantheon.yale.edu> and Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -46,7 +47,7 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp) cp[1] |= 0x80; } else - cp[0] = '\0'; + cp[0] = cp[1] = '\0'; } else { diff --git a/iconvdata/euc-tw.c b/iconvdata/euc-tw.c index 7f10af8e93..e6d3e3554d 100644 --- a/iconvdata/euc-tw.c +++ b/iconvdata/euc-tw.c @@ -1,5 +1,6 @@ /* Mapping tables for EUC-TW handling. - Copyright (C) 1998, 1999, 2000-2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000-2002, 2003, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -74,7 +75,7 @@ if (ch == 0x8e) \ { \ /* This is code set 2: CNS 11643, planes 1 to 16. */ \ - const char *endp = inptr + 1; \ + const unsigned char *endp = inptr + 1; \ \ ch = cns11643_to_ucs4 (&endp, inend - inptr - 1, 0x80); \ \ diff --git a/iconvdata/gbk.c b/iconvdata/gbk.c index ad8a37412a..c90ad77a75 100644 --- a/iconvdata/gbk.c +++ b/iconvdata/gbk.c @@ -13213,8 +13213,8 @@ static const char __gbk_from_ucs4_tab12[][2] = #define BODY \ { \ uint32_t ch = get32 (inptr); \ - unsigned char buf[2]; \ - const unsigned char *cp = buf; \ + char buf[2]; \ + const char *cp = buf; \ \ if (ch <= L'\x7f') \ /* It's plain ASCII. */ \ diff --git a/iconvdata/ibm1008_420.c b/iconvdata/ibm1008_420.c index 7dd964ab7f..0de95bf78d 100644 --- a/iconvdata/ibm1008_420.c +++ b/iconvdata/ibm1008_420.c @@ -176,7 +176,6 @@ static const char __from_ibm420_to_ibm1008[256] = *outptr++ = ch; \ ++inptr; \ } -#define LOOP_NEED_FLAGS #include <iconv/loop.c> @@ -190,7 +189,6 @@ static const char __from_ibm420_to_ibm1008[256] = *outptr++ = ch; \ ++inptr; \ } -#define LOOP_NEED_FLAGS #include <iconv/loop.c> /* Now define the toplevel functions. */ diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c index 3795d24115..fd02d63592 100644 --- a/iconvdata/iso-2022-cn-ext.c +++ b/iconvdata/iso-2022-cn-ext.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-CN-EXT. - Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. + Copyright (C) 2000-2002, 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000. @@ -304,8 +304,8 @@ enum { \ /* This is a character from CNS 11643 plane 3 or higher. \ XXX Currently GB7590 and GB13132 are not supported. */ \ - char buf[3]; \ - const char *tmp = buf; \ + unsigned char buf[3]; \ + const unsigned char *tmp = buf; \ \ buf[1] = inptr[2]; \ buf[2] = inptr[3]; \ @@ -426,7 +426,7 @@ enum } \ else \ { \ - char buf[2]; \ + unsigned char buf[2]; \ int used; \ \ if (set == GB2312_set || ((ann & SO_ann) != CNS11643_1_ann \ @@ -456,7 +456,7 @@ enum used = CNS11643_2_set; \ else \ { \ - char tmpbuf[3]; \ + unsigned char tmpbuf[3]; \ \ switch (0) \ { \ diff --git a/iconvdata/iso-2022-cn.c b/iconvdata/iso-2022-cn.c index 4e4ae768df..4825d72f0d 100644 --- a/iconvdata/iso-2022-cn.c +++ b/iconvdata/iso-2022-cn.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-CN. - Copyright (C) 1999, 2000-2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000-2002, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. @@ -263,7 +263,7 @@ enum } \ else \ { \ - char buf[2]; \ + unsigned char buf[2]; \ int used; \ size_t written = 0; \ \ diff --git a/iconvdata/iso-2022-kr.c b/iconvdata/iso-2022-kr.c index 8df101b229..1a16d213a7 100644 --- a/iconvdata/iso-2022-kr.c +++ b/iconvdata/iso-2022-kr.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-KR. - Copyright (C) 1998, 1999, 2000-2002 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000-2002, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -223,7 +223,7 @@ enum } \ else \ { \ - char buf[2]; \ + unsigned char buf[2]; \ size_t written; \ \ written = ucs4_to_ksc5601 (ch, buf, 2); \ diff --git a/iconvdata/iso-ir-165.h b/iconvdata/iso-ir-165.h index b28e45d811..80d1a1c44f 100644 --- a/iconvdata/iso-ir-165.h +++ b/iconvdata/iso-ir-165.h @@ -1,6 +1,6 @@ /* Tables for conversion to and from ISO-IR-165. converting from UCS using gaps. - Copyright (C) 2000, 2003 Free Software Foundation, Inc. + Copyright (C) 2000, 2003, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000. @@ -72,7 +72,7 @@ extern const char __isoir165_from_tab[]; static inline size_t __attribute ((always_inline)) -ucs4_to_isoir165 (uint32_t wch, char *s, size_t avail) +ucs4_to_isoir165 (uint32_t wch, unsigned char *s, size_t avail) { unsigned int ch = (unsigned int) wch; const char *cp; diff --git a/iconvdata/jis0201.h b/iconvdata/jis0201.h index 391e6d3f7c..6719b7a547 100644 --- a/iconvdata/jis0201.h +++ b/iconvdata/jis0201.h @@ -1,5 +1,5 @@ /* Access functions for JISX0201 conversion. - Copyright (C) 1997, 1998, 1999, 2003 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2003, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. |
