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
commit4ccd0d4a7eaf395d0cc3da7199f062be4fb482f4 (patch)
treed638a248cc499eb247582207dfc6a8443257fbf6
parent7b179c2dc2fb8f2e8a4cfad9a8c2bf0af1b37062 (diff)
downloademacs-4ccd0d4a7eaf395d0cc3da7199f062be4fb482f4.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)