]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix crash in GB18030 encoder
authorAndreas Schwab <schwab@redhat.com>
Tue, 28 Jun 2011 07:15:30 +0000 (03:15 -0400)
committerUlrich Drepper <drepper@gmail.com>
Tue, 28 Jun 2011 07:15:30 +0000 (03:15 -0400)
ChangeLog
iconvdata/gb18030.c

index 76779f3993d645c608331fbbb3f1f4923833b256..d42c5dd6a3635035230d0b6e11d44ea33f94e17e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-27  Andreas Schwab  <schwab@redhat.com>
+
+       * iconvdata/gb18030.c (BODY for TO_LOOP): Fix encoding of non-BMP
+       two-byte characters.
+
 2011-06-27  Roland McGrath  <roland@hack.frob.com>
 
        * configure.in (NO_CTORS_DTORS_SECTIONS): Give this check its own
index f2b23e66eaa25e9633166db5d590081fb49a2fbc..a06b75d03b3f3592d4f6754d1ae05050aecfb9cb 100644 (file)
@@ -18233,17 +18233,17 @@ static const unsigned char __ucs_to_gb18030_tab2[][2] =
              len = 0;                                                        \
          }                                                                   \
        else if (ch == 0x20087)                                               \
-         idx = 0xfe51;                                                       \
+         cp = (const unsigned char *) "\xfe\x51";                            \
        else if (ch == 0x20089)                                               \
-         idx = 0xfe52;                                                       \
+         cp = (const unsigned char *) "\xfe\x52";                            \
        else if (ch == 0x200CC)                                               \
-         idx = 0xfe53;                                                       \
+         cp = (const unsigned char *) "\xfe\x53";                            \
        else if (ch == 0x215d7)                                               \
-         idx = 0xfe6c;                                                       \
+         cp = (const unsigned char *) "\xfe\x6c";                            \
        else if (ch == 0x2298F)                                               \
-         idx = 0xfe76;                                                       \
+         cp = (const unsigned char *) "\xfe\x76";                            \
        else if (ch == 0x241FE)                                               \
-         idx = 0xfe91;                                                       \
+         cp = (const unsigned char *) "\xfe\x91";                            \
        else                                                                  \
          len = 0;                                                            \
                                                                              \