changeset 27566:d96c50f3e37e

(ccl_driver) <CCL_WriteExprRegister>: Set jump_address instead of incrementing ic directly. <CCL_WriteExprConst> Likewise. <ccl_set_expr>: Set ic to jump_address.
author Kenichi Handa <handa@m17n.org>
date Wed, 02 Feb 2000 07:05:00 +0000
parents 6182de7d0e86
children be414098ef2e
files src/ccl.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ccl.c	Wed Feb 02 06:58:58 2000 +0000
+++ b/src/ccl.c	Wed Feb 02 07:05:00 2000 +0000
@@ -909,7 +909,7 @@
 	  i = reg[RRR];
 	  j = XINT (ccl_prog[ic]);
 	  op = field1 >> 6;
-	  ic++;
+	  jump_address = ic + 1;
 	  goto ccl_set_expr;
 
 	case CCL_WriteRegister:	/* CCCCCCCCCCCCCCCCCCCrrrXXXXX */
@@ -929,6 +929,7 @@
 	  i = reg[RRR];
 	  j = reg[Rrr];
 	  op = field1 >> 6;
+	  jump_address = ic;
 	  goto ccl_set_expr;
 
 	case CCL_Call:		/* 1:CCCCCCCCCCCCCCCCCCCCFFFXXXXX */
@@ -1105,6 +1106,7 @@
 	    {
 	      i = reg[rrr];
 	      CCL_WRITE_CHAR (i);
+	      ic = jump_address;
 	    }
 	  else if (!reg[rrr])
 	    ic = jump_address;