Mercurial > emacs
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) {