From: Kenichi Handa Date: Mon, 29 Dec 2003 07:51:22 +0000 (+0000) Subject: (Fccl_execute_on_string): Fix the condition of loop. X-Git-Tag: emacs-pretest-23.0.90~8295^2~1667 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=99e293b5b26ffdebbdb81b999bb2aa42d868db2e;p=emacs.git (Fccl_execute_on_string): Fix the condition of loop. --- diff --git a/src/ccl.c b/src/ccl.c index 55e7422511c..528e7d5a435 100644 --- a/src/ccl.c +++ b/src/ccl.c @@ -2023,7 +2023,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program. */ consumed_chars = consumed_bytes = 0; produced_chars = 0; - while (consumed_bytes < str_bytes) + while (1) { const unsigned char *p = SDATA (str) + consumed_bytes; const unsigned char *endp = SDATA (str) + str_bytes; @@ -2047,8 +2047,6 @@ See the documentation of `define-ccl-program' for the detail of CCL program. */ { ccl_driver (&ccl, src, destination, src_size, CCL_EXECUTE_BUF_SIZE, Qnil); - if (ccl.status != CCL_STAT_SUSPEND_BY_DST) - break; produced_chars += ccl.produced; if (NILP (unibyte_p)) { @@ -2077,6 +2075,8 @@ See the documentation of `define-ccl-program' for the detail of CCL program. */ } src += ccl.consumed; src_size -= ccl.consumed; + if (ccl.status != CCL_STAT_SUSPEND_BY_DST) + break; } if (ccl.status != CCL_STAT_SUSPEND_BY_SRC)