diff options
| author | Kenichi Handa | 1998-08-18 13:15:18 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-08-18 13:15:18 +0000 |
| commit | 4ccd0d4a7eaf395d0cc3da7199f062be4fb482f4 (patch) | |
| tree | d638a248cc499eb247582207dfc6a8443257fbf6 | |
| parent | 7b179c2dc2fb8f2e8a4cfad9a8c2bf0af1b37062 (diff) | |
| download | emacs-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.
| -rw-r--r-- | src/ccl.c | 3 |
1 files changed, 2 insertions, 1 deletions
| @@ -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) |