From: Kenichi Handa Date: Mon, 28 Sep 1998 11:52:53 +0000 (+0000) Subject: (encode_terminal_code): Handle raw 8-bit codes correctly. X-Git-Tag: emacs-20.4~1611 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c42869c47d6a598ded22d5e929d5388d3b6cb9f3;p=emacs.git (encode_terminal_code): Handle raw 8-bit codes correctly. --- diff --git a/src/term.c b/src/term.c index de48cb0eb88..17607cea5d5 100644 --- a/src/term.c +++ b/src/term.c @@ -858,13 +858,19 @@ encode_terminal_code (src, dst, src_len, dst_len, consumed) } encode_coding (coding, buf, dst, len, dst_end - dst); - if (coding->consumed < len) - /* We get a carryover because the remaining output - buffer is too short. We must break the loop here - without increasing SRC so that the next call of - this function start from the same glyph. */ - break; + len -= coding->consumed; dst += coding->produced; + if (len > 0) + { + if (len > dst_end - dst) + /* The remaining output buffer is too short. We must + break the loop here without increasing SRC so that + the next call of this function start from the same + glyph. */ + break; + buf += len; + while (len--) *dst++ = *buf++; + } } src++; }