From: Kenichi Handa Date: Fri, 26 Jul 2002 11:53:25 +0000 (+0000) Subject: (detect_coding_iso2022): While checking a byte sequence X-Git-Tag: ttn-vms-21-2-B4~13850 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8d239c89c6580517905dfcddc02e176518a475b0;p=emacs.git (detect_coding_iso2022): While checking a byte sequence for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check it in the normal loop. --- diff --git a/src/coding.c b/src/coding.c index b7bc5e6b4f2..e285e1c27f3 100644 --- a/src/coding.c +++ b/src/coding.c @@ -1349,6 +1349,7 @@ detect_coding_iso2022 (src, src_end, multibytep) while (mask && src < src_end) { ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep); + retry: switch (c) { case ISO_CODE_ESC: @@ -1523,6 +1524,8 @@ detect_coding_iso2022 (src, src_end, multibytep) && mask & CODING_CATEGORY_MASK_ISO_8_2) { int i = 1; + + c = -1; while (src < src_end) { ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep); @@ -1535,6 +1538,9 @@ detect_coding_iso2022 (src, src_end, multibytep) mask &= ~CODING_CATEGORY_MASK_ISO_8_2; else mask_found |= CODING_CATEGORY_MASK_ISO_8_2; + if (c >= 0) + /* This means that we have read one extra byte. */ + goto retry; } } break;