Fix bug in previous tcvn5712 commit e64d2de52.
authorTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Mon, 2 Apr 2012 22:24:03 +0000 (15:24 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Apr 2012 00:12:07 +0000 (17:12 -0700)
[BZ #13691]
* iconvdata/tcvn5712-1.c (FROM_LOOP): Test end of input using
inptr and inend, rather than using last_ch.

ChangeLog
iconvdata/tcvn5712-1.c

index 8705429..09f040e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-04-02 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
+
+       [BZ #13691]
+       * iconvdata/tcvn5712-1.c (FROM_LOOP): Test end of input using
+       inptr and inend, rather than using last_ch.
+
 2012-04-02  David S. Miller  <davem@davemloft.net>
 
        With help from Paul Eggert, Carlos O'Donell, and Roland McGrath.
index 09dcbbf..90c8610 100644 (file)
@@ -378,8 +378,9 @@ static const struct
     /* Determine whether there is a buffered character pending.  */          \
     last_ch = *statep >> 3;                                                  \
                                                                              \
-    /* We have to buffer ch if it is a possible match in comp_table_data.  */ \
-    must_buffer_ch = last_ch && (ch >= 0x0041 && ch <= 0x01b0);                      \
+    /* We have to buffer ch if it is a possible match in comp_table_data      \
+       and if it isn't the last char of the string.  */                              \
+    must_buffer_ch = (ch >= 0x0041 && ch <= 0x01b0) && (inptr + 1 != inend);  \
                                                                              \
     if (last_ch)                                                             \
       {                                                                              \