about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-05-21 11:33:05 -0400
committerUlrich Drepper <drepper@gmail.com>2011-05-21 11:33:05 -0400
commit8e211fecca7bddfb03a3aed54a47c243afddc150 (patch)
treeb8c60fb55ae38c5605d55e5394b3811a3a13306a
parentf7d82dc9e0b812c30ed1935190cda11a171b1438 (diff)
downloadglibc-8e211fecca7bddfb03a3aed54a47c243afddc150.tar.gz
glibc-8e211fecca7bddfb03a3aed54a47c243afddc150.tar.xz
glibc-8e211fecca7bddfb03a3aed54a47c243afddc150.zip
Fix CP1258 conversion
a5 ec was mishandled and the other direction appropriately so, too.
-rw-r--r--ChangeLog5
-rw-r--r--NEWS3
-rw-r--r--iconvdata/CP1258.irreversible2
-rw-r--r--iconvdata/cp1258.c18
4 files changed, 17 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 2fac3560d3..a1dca5d90b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2011-05-21  Ulrich Drepper  <drepper@gmail.com>
 
+	[BZ #12777]
+	* iconvdata/cp1258.c (comp_table_data): Remove entry 0x00A5 0xEC.
+	(decomp_table): Change U0385 entry to emit 0xA5 0xEC.
+	* iconvdata/CP1258.irreversible: Adjust entry 0xA8EC.
+
 	* configure.in: Fix typo in redirection and correct removal of test
 	files in two cases.
 
diff --git a/NEWS b/NEWS
index 5eb39e4b28..a99c74a041 100644
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,8 @@ Version 2.14
   12454, 12460, 12469, 12489, 12509, 12510, 12511, 12518, 12527, 12541,
   12545, 12551, 12582, 12583, 12587, 12597, 12601, 12611, 12625, 12626,
   12631, 12650, 12653, 12655, 12660, 12681, 12685, 12711, 12713, 12714,
-  12717, 12723, 12724, 12734, 12738, 12746, 12766, 12775, 12788, 12792
+  12717, 12723, 12724, 12734, 12738, 12746, 12766, 12775, 12777, 12788,
+  12792
 
 * The RPC implementation in libc is obsoleted.  Old programs keep working
   but new programs cannot be linked with the routines in libc anymore.
diff --git a/iconvdata/CP1258.irreversible b/iconvdata/CP1258.irreversible
index 68a54812d6..cec1382448 100644
--- a/iconvdata/CP1258.irreversible
+++ b/iconvdata/CP1258.irreversible
@@ -96,8 +96,8 @@
 0x79F2	0x1EF5
 0x7AEC	0x017A
 0x7AF2	0x1E93
-0xA5EC	0x0385
 0xA8CC	0x1FED
+0xA8EC	0x0385
 0xA8EC	0x1FEE
 0xC2CC	0x1EA6
 0xC2D2	0x1EA8
diff --git a/iconvdata/cp1258.c b/iconvdata/cp1258.c
index d1b2be4125..2b741ba96f 100644
--- a/iconvdata/cp1258.c
+++ b/iconvdata/cp1258.c
@@ -1,5 +1,5 @@
 /* Conversion from and to CP1258.
-   Copyright (C) 1998, 2001, 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2001, 2002, 2004, 2011 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.
@@ -92,7 +92,7 @@ static const uint16_t to_ucs4[128] =
     0x20AC,      0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
     0x02C6, 0x2030,      0, 0x2039, 0x0152,      0,      0,      0,
     /* 0x90 */
-         0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
+	 0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
     0x02DC, 0x2122,      0, 0x203A, 0x0153,      0,      0, 0x0178,
     /* 0xA0 */
     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
@@ -162,7 +162,7 @@ static const struct
     { 0x01AF, 0x1EEA },
     { 0x01B0, 0x1EEB },
 #define COMP_TABLE_IDX_0301 (COMP_TABLE_IDX_0300 + COMP_TABLE_LEN_0300)
-#define COMP_TABLE_LEN_0301 60
+#define COMP_TABLE_LEN_0301 59
     { 0x0041, 0x00C1 },
     { 0x0043, 0x0106 },
     { 0x0045, 0x00C9 },
@@ -197,7 +197,7 @@ static const struct
     { 0x0077, 0x1E83 },
     { 0x0079, 0x00FD },
     { 0x007A, 0x017A },
-    { 0x00A5, 0x0385 },
+    /* { 0x00A5, 0x0385 }, Wrong, A5 is Yen sign */
     { 0x00A8, 0x1FEE },
     { 0x00C2, 0x1EA4 },
     { 0x00C5, 0x01FA },
@@ -505,7 +505,7 @@ static const struct
 static const unsigned char from_ucs4[] =
   {
 #define FROM_IDX_00 0
-                            0xc4, 0xc5, 0xc6, 0xc7, /* 0x00c4-0x00c7 */
+			    0xc4, 0xc5, 0xc6, 0xc7, /* 0x00c4-0x00c7 */
     0xc8, 0xc9, 0xca, 0xcb, 0x00, 0xcd, 0xce, 0xcf, /* 0x00c8-0x00cf */
     0x00, 0xd1, 0x00, 0xd3, 0xd4, 0x00, 0xd6, 0xd7, /* 0x00d0-0x00d7 */
     0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x00, 0x00, 0xdf, /* 0x00d8-0x00df */
@@ -517,7 +517,7 @@ static const unsigned char from_ucs4[] =
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0108-0x010f */
     0xd0, 0xf0,                                     /* 0x0110-0x0111 */
 #define FROM_IDX_01 (FROM_IDX_00 + 78)
-                0x8c, 0x9c, 0x00, 0x00, 0x00, 0x00, /* 0x0152-0x0157 */
+		0x8c, 0x9c, 0x00, 0x00, 0x00, 0x00, /* 0x0152-0x0157 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0158-0x015f */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0160-0x0167 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0168-0x016f */
@@ -531,7 +531,7 @@ static const unsigned char from_ucs4[] =
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdd, /* 0x01a8-0x01af */
     0xfd,                                           /* 0x01b0-0x01b0 */
 #define FROM_IDX_02 (FROM_IDX_01 + 95)
-                                        0x88, 0x00, /* 0x02c6-0x02c7 */
+					0x88, 0x00, /* 0x02c6-0x02c7 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02c8-0x02cf */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02d0-0x02d7 */
     0x00, 0x00, 0x00, 0x00, 0x98,                   /* 0x02d8-0x02dc */
@@ -542,7 +542,7 @@ static const unsigned char from_ucs4[] =
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0318-0x031f */
     0x00, 0x00, 0x00, 0xf2,                         /* 0x0320-0x0323 */
 #define FROM_IDX_20 (FROM_IDX_03 + 36)
-                      0x96, 0x97, 0x00, 0x00, 0x00, /* 0x2013-0x2017 */
+		      0x96, 0x97, 0x00, 0x00, 0x00, /* 0x2013-0x2017 */
     0x91, 0x92, 0x82, 0x00, 0x93, 0x94, 0x84, 0x00, /* 0x2018-0x201f */
     0x86, 0x87, 0x95, 0x00, 0x00, 0x00, 0x85, 0x00, /* 0x2020-0x2027 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2028-0x202f */
@@ -619,7 +619,7 @@ static const struct
     { 0x01fd, 0xe6, 0xec },
     { 0x01fe, 0xd8, 0xec },
     { 0x01ff, 0xf8, 0xec },
-    { 0x0385, 0xa5, 0xec },
+    { 0x0385, 0xa8, 0xec },
     { 0x1e04, 0x42, 0xf2 },
     { 0x1e05, 0x62, 0xf2 },
     { 0x1e08, 0xc7, 0xec },