changeset 21939:e9014d2166a4

(encode_coding_iso2022): Don't skip a code following some invalid code.
author Richard M. Stallman <rms@gnu.org>
date Mon, 04 May 1998 22:33:38 +0000
parents f4c17bc26d52
children f7e788ea680b
files src/coding.c
diffstat 1 files changed, 8 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/coding.c	Mon May 04 20:14:36 1998 +0000
+++ b/src/coding.c	Mon May 04 22:33:38 1998 +0000
@@ -1868,8 +1868,8 @@
 	    {
 	      /* 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 @@
 	    {
 	      /* 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 @@
 	    {
 	      /* 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 @@
 	    {
 	      /* invalid sequence */
 	      *dst++ = c1;
-	      *dst++ = c2;
-	      coding->consumed_char += 2;
+	      src--;
+	      coding->consumed_char++;
 	    }
 	  else if (c2 == 0xFF)
 	    {