From 39c59c35723120c32dc42dde4115bba92305179f Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Mon, 2 Apr 2012 15:24:03 -0700 Subject: Fix bug in previous tcvn5712 commit e64d2de52. [BZ #13691] * iconvdata/tcvn5712-1.c (FROM_LOOP): Test end of input using inptr and inend, rather than using last_ch. --- ChangeLog | 6 ++++++ iconvdata/tcvn5712-1.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 87054297cc..09f040e632 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-04-02 Tulio Magno Quites Machado Filho + + [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 With help from Paul Eggert, Carlos O'Donell, and Roland McGrath. diff --git a/iconvdata/tcvn5712-1.c b/iconvdata/tcvn5712-1.c index 09dcbbfac9..90c8610f96 100644 --- a/iconvdata/tcvn5712-1.c +++ b/iconvdata/tcvn5712-1.c @@ -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) \ { \ -- cgit v1.2.3