]> git.eshelyaron.com Git - emacs.git/commitdiff
(encode_coding_iso2022): Don't skip a code following some invalid code.
authorRichard M. Stallman <rms@gnu.org>
Mon, 4 May 1998 22:33:38 +0000 (22:33 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 4 May 1998 22:33:38 +0000 (22:33 +0000)
src/coding.c

index 75ef204326d809beab8d72003e4099ce38d4e31e..fff9292a850b091aac077ef687733eb82016ae59 100644 (file)
@@ -1868,8 +1868,8 @@ encode_coding_iso2022 (coding, source, destination, src_bytes, dst_bytes)
            {
              /* invalid sequence */
              *dst++ = c1;
-             *dst++ = c2;
-             coding->consumed_char += 2;
+             src--;
+             coding->consumed_char++;
            }
          else
            ENCODE_ISO_CHARACTER (c1, c2, /* dummy */ c3);
@@ -1881,9 +1881,8 @@ encode_coding_iso2022 (coding, source, destination, src_bytes, dst_bytes)
            {
              /* invalid sequence */
              *dst++ = c1;
-             *dst++ = c2;
-             *dst++ = c3;
-             coding->consumed_char += 3;
+             src -= 2;
+             coding->consumed_char++;
            }
          else if (c1 < LEADING_CODE_PRIVATE_11)
            ENCODE_ISO_CHARACTER (c1, c2, c3);
@@ -1897,10 +1896,8 @@ encode_coding_iso2022 (coding, source, destination, src_bytes, dst_bytes)
            {
              /* invalid sequence */
              *dst++ = c1;
-             *dst++ = c2;
-             *dst++ = c3;
-             *dst++ = c4;
-             coding->consumed_char += 4;
+             src -= 3;
+             coding->consumed_char++;
            }
          else
            ENCODE_ISO_CHARACTER (c2, c3, c4);
@@ -1912,8 +1909,8 @@ encode_coding_iso2022 (coding, source, destination, src_bytes, dst_bytes)
            {
              /* invalid sequence */
              *dst++ = c1;
-             *dst++ = c2;
-             coding->consumed_char += 2;
+             src--;
+             coding->consumed_char++;
            }
          else if (c2 == 0xFF)
            {