]> git.eshelyaron.com Git - emacs.git/commitdiff
(decode_coding_utf_8): Check byte_after_cr before breaking the loop.
authorKenichi Handa <handa@m17n.org>
Wed, 7 Jan 2009 06:49:50 +0000 (06:49 +0000)
committerKenichi Handa <handa@m17n.org>
Wed, 7 Jan 2009 06:49:50 +0000 (06:49 +0000)
(decode_coding_utf_16, decode_coding_emacs_mule)
(decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
(decode_coding_charset): Likewise.

src/ChangeLog
src/coding.c

index 9052a2105a8da094df2f28f9a7e251d8d908aeee..25b60e9d45ebfdadeab1d0de503b2f3f3601311f 100644 (file)
@@ -1,3 +1,11 @@
+2009-01-07  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (decode_coding_utf_8): Check byte_after_cr before
+       breaking the loop.
+       (decode_coding_utf_16, decode_coding_emacs_mule)
+       (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
+       (decode_coding_charset): Likewise.
+
 2009-01-05  Martin Rudalics  <rudalics@gmx.at>
 
        * frame.c (x_set_frame_parameters): Make sure height (width) get
index 869a2715640df1fe28057dc304d8a858b1e51422..1e86ae8f77718ef7a75926dc0c2af2ba575c0013 100644 (file)
@@ -1376,7 +1376,11 @@ decode_coding_utf_8 (coding)
       consumed_chars_base = consumed_chars;
 
       if (charbuf >= charbuf_end)
-       break;
+       {
+         if (byte_after_cr >= 0)
+           src_base--;
+         break;
+       }
 
       if (byte_after_cr >= 0)
        c1 = byte_after_cr, byte_after_cr = -1;
@@ -1682,7 +1686,11 @@ decode_coding_utf_16 (coding)
       consumed_chars_base = consumed_chars;
 
       if (charbuf + 2 >= charbuf_end)
-       break;
+       {
+         if (byte_after_cr1 >= 0)
+           src_base -= 2;
+         break;
+       }
 
       if (byte_after_cr1 >= 0)
        c1 = byte_after_cr1, byte_after_cr1 = -1;
@@ -2286,7 +2294,11 @@ decode_coding_emacs_mule (coding)
       consumed_chars_base = consumed_chars;
 
       if (charbuf >= charbuf_end)
-       break;
+       {
+         if (byte_after_cr >= 0)
+           src_base--;
+         break;
+       }
 
       if (byte_after_cr >= 0)
        c = byte_after_cr, byte_after_cr = -1;
@@ -3197,7 +3209,11 @@ decode_coding_iso_2022 (coding)
       consumed_chars_base = consumed_chars;
 
       if (charbuf >= charbuf_end)
-       break;
+       {
+         if (byte_after_cr >= 0)
+           src_base--;
+         break;
+       }
 
       if (byte_after_cr >= 0)
        c1 = byte_after_cr, byte_after_cr = -1;
@@ -4371,7 +4387,11 @@ decode_coding_sjis (coding)
       consumed_chars_base = consumed_chars;
 
       if (charbuf >= charbuf_end)
-       break;
+       {
+         if (byte_after_cr >= 0)
+           src_base--;
+         break;
+       }
 
       if (byte_after_cr >= 0)
        c = byte_after_cr, byte_after_cr = -1;
@@ -4479,7 +4499,11 @@ decode_coding_big5 (coding)
       consumed_chars_base = consumed_chars;
 
       if (charbuf >= charbuf_end)
-       break;
+       {
+         if (byte_after_cr >= 0)
+           src_base--;
+         break;
+       }
 
       if (byte_after_cr >= 0)
        c = byte_after_cr, byte_after_cr = -1;
@@ -5144,7 +5168,11 @@ decode_coding_charset (coding)
       consumed_chars_base = consumed_chars;
 
       if (charbuf >= charbuf_end)
-       break;
+       {
+         if (byte_after_cr >= 0)
+           src_base--;
+         break;
+       }
 
       if (byte_after_cr >= 0)
        {