diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ccl.c | 6 |
1 files changed, 3 insertions, 3 deletions
| @@ -2023,7 +2023,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program. */ | |||
| 2023 | 2023 | ||
| 2024 | consumed_chars = consumed_bytes = 0; | 2024 | consumed_chars = consumed_bytes = 0; |
| 2025 | produced_chars = 0; | 2025 | produced_chars = 0; |
| 2026 | while (consumed_bytes < str_bytes) | 2026 | while (1) |
| 2027 | { | 2027 | { |
| 2028 | const unsigned char *p = SDATA (str) + consumed_bytes; | 2028 | const unsigned char *p = SDATA (str) + consumed_bytes; |
| 2029 | const unsigned char *endp = SDATA (str) + str_bytes; | 2029 | 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. */ | |||
| 2047 | { | 2047 | { |
| 2048 | ccl_driver (&ccl, src, destination, src_size, CCL_EXECUTE_BUF_SIZE, | 2048 | ccl_driver (&ccl, src, destination, src_size, CCL_EXECUTE_BUF_SIZE, |
| 2049 | Qnil); | 2049 | Qnil); |
| 2050 | if (ccl.status != CCL_STAT_SUSPEND_BY_DST) | ||
| 2051 | break; | ||
| 2052 | produced_chars += ccl.produced; | 2050 | produced_chars += ccl.produced; |
| 2053 | if (NILP (unibyte_p)) | 2051 | if (NILP (unibyte_p)) |
| 2054 | { | 2052 | { |
| @@ -2077,6 +2075,8 @@ See the documentation of `define-ccl-program' for the detail of CCL program. */ | |||
| 2077 | } | 2075 | } |
| 2078 | src += ccl.consumed; | 2076 | src += ccl.consumed; |
| 2079 | src_size -= ccl.consumed; | 2077 | src_size -= ccl.consumed; |
| 2078 | if (ccl.status != CCL_STAT_SUSPEND_BY_DST) | ||
| 2079 | break; | ||
| 2080 | } | 2080 | } |
| 2081 | 2081 | ||
| 2082 | if (ccl.status != CCL_STAT_SUSPEND_BY_SRC) | 2082 | if (ccl.status != CCL_STAT_SUSPEND_BY_SRC) |