From: Kenichi Handa Date: Tue, 8 Oct 2002 00:57:59 +0000 (+0000) Subject: (code_convert_region): When we need more GAP for X-Git-Tag: ttn-vms-21-2-B4~12910 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b3385c2865e95130930be5d6959c339f83bcce5f;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 4636a0712fe..69e3b7e3e3d 100644 --- a/src/coding.c +++ b/src/coding.c @@ -5696,9 +5696,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))