diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | iconvdata/euc-jp.c | 9 | ||||
-rw-r--r-- | iconvdata/euc-kr.c | 6 | ||||
-rw-r--r-- | localedata/ChangeLog | 1 | ||||
-rw-r--r-- | localedata/charmaps/EUC-KR | 36 |
5 files changed, 47 insertions, 8 deletions
@@ -1,5 +1,8 @@ 2000-07-06 Ulrich Drepper <drepper@redhat.com> + * iconvdata/euc-jp.c: Map characters in C1 area to itself. + * iconvdata/euc-kr.c: Likewise. + * stdio-common/vfprintf.c (process_string_arg): Check result of wcrtomb call and bail out if it failed. diff --git a/iconvdata/euc-jp.c b/iconvdata/euc-jp.c index c6a39b08ec..8d8429614d 100644 --- a/iconvdata/euc-jp.c +++ b/iconvdata/euc-jp.c @@ -45,10 +45,9 @@ { \ uint32_t ch = *inptr; \ \ - if (ch <= 0x7f) \ + if (ch < 0x8e || (ch >= 0x90 && ch <= 0x9f)) \ ++inptr; \ - else if ((__builtin_expect (ch, 0xa1) <= 0xa0 && ch != 0x8e && ch != 0x8f)\ - || __builtin_expect (ch, 0xfe) > 0xfe) \ + else if (ch == 0xff) \ { \ /* This is illegal. */ \ if (! ignore_errors_p ()) \ @@ -168,8 +167,8 @@ { \ uint32_t ch = get32 (inptr); \ \ - if (ch <= 0x7f) \ - /* It's plain ASCII. */ \ + if (ch < 0x8e || (ch >= 0x90 && ch <= 0x9f)) \ + /* It's plain ASCII or C1. */ \ *outptr++ = ch; \ else if (ch == 0xa5) \ /* YEN sign => backslash */ \ diff --git a/iconvdata/euc-kr.c b/iconvdata/euc-kr.c index abb40c8908..786695801c 100644 --- a/iconvdata/euc-kr.c +++ b/iconvdata/euc-kr.c @@ -27,7 +27,7 @@ static inline void euckr_from_ucs4 (uint32_t ch, unsigned char *cp) { - if (ch > 0x7f) + if (ch > 0x9f) { if (__builtin_expect (ucs4_to_ksc5601 (ch, cp, 2), 0) != __UNKNOWN_10646_CHAR) @@ -75,12 +75,12 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp) ch = (uint32_t) inchar; \ */ \ \ - if (ch <= 0x7f) \ + if (ch <= 0x9f) \ /* Plain ASCII. */ \ ++inptr; \ /* 0xfe(->0x7e : row 94) and 0xc9(->0x59 : row 41) are \ user-defined areas. */ \ - else if (__builtin_expect (ch, 0xa1) <= 0xa0 \ + else if (__builtin_expect (ch, 0xa1) == 0xa0 \ || __builtin_expect (ch, 0xa1) > 0xfe \ || __builtin_expect (ch, 0xa1) == 0xc9) \ { \ diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 69982eb5e6..6f64baaed3 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,6 +1,7 @@ 2000-07-06 Ulrich Drepper <drepper@redhat.com> * charmaps/EUC-JP: Make characters in C1 area map to themselves. + * charmaps/EUC-KR: Likewise. 2000-07-06 Jakub Jelinek <jakub@redhat.com> diff --git a/localedata/charmaps/EUC-KR b/localedata/charmaps/EUC-KR index 41e3cc1cb1..82093f7f88 100644 --- a/localedata/charmaps/EUC-KR +++ b/localedata/charmaps/EUC-KR @@ -138,6 +138,42 @@ CHARMAP <U007F> /x7f DELETE
%
+% C1 area.
+%
+<U0080> /x80 PADDING CHARACTER (PAD)
+<U0081> /x81 HIGH OCTET PRESET (HOP)
+<U0082> /x82 BREAK PERMITTED HERE (BPH)
+<U0083> /x83 NO BREAK HERE (NBH)
+<U0084> /x84 INDEX (IND)
+<U0085> /x85 NEXT LINE (NEL)
+<U0086> /x86 START OF SELECTED AREA (SSA)
+<U0087> /x87 END OF SELECTED AREA (ESA)
+<U0088> /x88 CHARACTER TABULATION SET (HTS)
+<U0089> /x89 CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+<U008A> /x8a LINE TABULATION SET (VTS)
+<U008B> /x8b PARTIAL LINE FORWARD (PLD)
+<U008C> /x8c PARTIAL LINE BACKWARD (PLU)
+<U008D> /x8d REVERSE LINE FEED (RI)
+<U008E> /x8e SINGLE-SHIFT TWO (SS2)
+<U008F> /x8f SINGLE-SHIFT THREE (SS3)
+<U0090> /x90 DEVICE CONTROL STRING (DCS)
+<U0091> /x91 PRIVATE USE ONE (PU1)
+<U0092> /x92 PRIVATE USE TWO (PU2)
+<U0093> /x93 SET TRANSMIT STATE (STS)
+<U0094> /x94 CANCEL CHARACTER (CCH)
+<U0095> /x95 MESSAGE WAITING (MW)
+<U0096> /x96 START OF GUARDED AREA (SPA)
+<U0097> /x97 END OF GUARDED AREA (EPA)
+<U0098> /x98 START OF STRING (SOS)
+<U0099> /x99 SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+<U009A> /x9a SINGLE CHARACTER INTRODUCER (SCI)
+<U009B> /x9b CONTROL SEQUENCE INTRODUCER (CSI)
+<U009C> /x9c STRING TERMINATOR (ST)
+<U009D> /x9d OPERATING SYSTEM COMMAND (OSC)
+<U009E> /x9e PRIVACY MESSAGE (PM)
+<U009F> /x9f APPLICATION PROGRAM COMMAND (APC)
+
+%
% KS C 5601-1992
%
<UC7B8> /xa0/x41 HANGUL SYLLABLE CIEUC-AE-RIEULSIOS
|