aboutsummaryrefslogtreecommitdiffstats
path: root/src/ccl.c
diff options
context:
space:
mode:
authorKenichi Handa1998-08-18 13:15:18 +0000
committerKenichi Handa1998-08-18 13:15:18 +0000
commit4ccd0d4a7eaf395d0cc3da7199f062be4fb482f4 (patch)
treed638a248cc499eb247582207dfc6a8443257fbf6 /src/ccl.c
parent7b179c2dc2fb8f2e8a4cfad9a8c2bf0af1b37062 (diff)
downloademacs-4ccd0d4a7eaf395d0cc3da7199f062be4fb482f4.tar.gz
emacs-4ccd0d4a7eaf395d0cc3da7199f062be4fb482f4.zip
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.
Diffstat (limited to 'src/ccl.c')
-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;
702 else if (ccl->last_block) \ 702 else if (ccl->last_block) \
703 { \ 703 { \
704 ic = ccl->eof_ic; \ 704 ic = ccl->eof_ic; \
705 goto ccl_finish; \ 705 goto ccl_repeat; \
706 } \ 706 } \
707 else \ 707 else \
708 CCL_SUSPEND (CCL_STAT_SUSPEND_BY_SRC); \ 708 CCL_SUSPEND (CCL_STAT_SUSPEND_BY_SRC); \
@@ -757,6 +757,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
757 757
758 for (;;) 758 for (;;)
759 { 759 {
760 ccl_repeat:
760#ifdef CCL_DEBUG 761#ifdef CCL_DEBUG
761 ccl_backtrace_table[ccl_backtrace_idx++] = ic; 762 ccl_backtrace_table[ccl_backtrace_idx++] = ic;
762 if (ccl_backtrace_idx >= CCL_DEBUG_BACKTRACE_LEN) 763 if (ccl_backtrace_idx >= CCL_DEBUG_BACKTRACE_LEN)