From: Kenichi Handa Date: Tue, 8 Oct 2002 01:13:23 +0000 (+0000) Subject: (code_convert_region): When we need more GAP for X-Git-Tag: emacs-pretest-21.2.91~4 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9b680226e4bd030041b7b0fa77b540821be982ea;p=emacs.git (code_convert_region): When we need more GAP for conversion, pay attention to the case that coding->produced is not greater than coding->consumed. --- diff --git a/src/coding.c b/src/coding.c index 14d5542dd13..31ec3da01a3 100644 --- a/src/coding.c +++ b/src/coding.c @@ -5680,9 +5680,19 @@ code_convert_region (from, from_byte, to, to_byte, coding, encodep, replace) REQUIRE + LEN_BYTE = LEN_BYTE * (NEW / ORIG) REQUIRE = LEN_BYTE * (NEW - ORIG) / ORIG Here, we are sure that NEW >= ORIG. */ - float ratio = coding->produced - coding->consumed; - ratio /= coding->consumed; - require = len_byte * ratio; + float ratio; + + if (coding->produced <= coding->consumed) + { + /* This happens because of CCL-based coding system with + eol-type CRLF. */ + require = 0; + } + else + { + ratio = (coding->produced - coding->consumed) / coding->consumed; + require = len_byte * ratio; + } first = 0; } if ((src - dst) < (require + 2000))