From: Eli Zaretskii Date: Wed, 17 Feb 2016 15:48:30 +0000 (+0200) Subject: Fix decoding DOS EOL in a unibyte buffer X-Git-Tag: emacs-25.0.92~96 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=289d5c6e976d4ea557b0f71008468d42ee0258ad;p=emacs.git Fix decoding DOS EOL in a unibyte buffer * src/coding.c (decode_eol): Loop over bytes, not characters. (Bug#5251) --- diff --git a/src/coding.c b/src/coding.c index 3bee16c4f0c..e591bedc3e5 100644 --- a/src/coding.c +++ b/src/coding.c @@ -6828,11 +6828,11 @@ decode_eol (struct coding_system *coding) } else { - ptrdiff_t pos_byte = coding->dst_pos_byte; ptrdiff_t pos = coding->dst_pos; - ptrdiff_t pos_end = pos + coding->produced_char - 1; + ptrdiff_t pos_byte = coding->dst_pos_byte; + ptrdiff_t pos_end = pos_byte + coding->produced - 1; - while (pos < pos_end) + while (pos_byte < pos_end) { p = BYTE_POS_ADDR (pos_byte); if (*p == '\r' && p[1] == '\n')