summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>1998-08-18 13:15:18 +0000
committerKenichi Handa <handa@m17n.org>1998-08-18 13:15:18 +0000
commit49de6343b87edc8cd14f81082c06a0b6339d794d (patch)
treee110d951ec14c2ba83234a9fc5daca91f062b526
parent848cb86d3f72cd77909efce8dbc75defe8f9d005 (diff)
downloademacs-49de6343b87edc8cd14f81082c06a0b6339d794d.tar.gz
If eof is encounterd while processing the
last block, don't just finish but processes eol block of the current CCL program. (ccl_driver): Add a new jump label ccl_repeat for the above change.
-rw-r--r--src/ccl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ccl.c b/src/ccl.c
index a0a69d30f5b..b3d61f7863f 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -702,7 +702,7 @@ static tr_stack *mapping_stack_pointer;
else if (ccl->last_block) \
{ \
ic = ccl->eof_ic; \
- goto ccl_finish; \
+ goto ccl_repeat; \
} \
else \
CCL_SUSPEND (CCL_STAT_SUSPEND_BY_SRC); \
@@ -757,6 +757,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
for (;;)
{
+ ccl_repeat:
#ifdef CCL_DEBUG
ccl_backtrace_table[ccl_backtrace_idx++] = ic;
if (ccl_backtrace_idx >= CCL_DEBUG_BACKTRACE_LEN)