]> git.eshelyaron.com Git - emacs.git/commitdiff
(code_convert_region): When we need more GAP for
authorKenichi Handa <handa@m17n.org>
Tue, 8 Oct 2002 01:13:23 +0000 (01:13 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 8 Oct 2002 01:13:23 +0000 (01:13 +0000)
conversion, pay attention to the case that coding->produced is not
greater than coding->consumed.

src/coding.c

index 14d5542dd13031b1ad880cc954c0c310b4b88756..31ec3da01a3b10059cc7925c9cb71a1fac070a64 100644 (file)
@@ -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))