(ccl_driver) [CCL_MapMultiple]: When the mapped value is
authorKenichi Handa <handa@m17n.org>
Sat, 26 Feb 2000 01:13:11 +0000 (01:13 +0000)
committerKenichi Handa <handa@m17n.org>
Sat, 26 Feb 2000 01:13:11 +0000 (01:13 +0000)
`lambda', set reg[RRR] to the map index.
(ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
reg[RRR] to 0.  Otherwise, set it to -1.

src/ccl.c

index 01d6dd6..0b11baf 100644 (file)
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -1450,6 +1450,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                      }
                    else if (EQ (content, Qlambda))
                      {
+                       reg[RRR] = i;
                        break;
                      }
                    else
@@ -1492,13 +1493,13 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
                  reg[RRR] = -1;
                else
                  {
+                   reg[RRR] = 0;
                    content = XVECTOR (map)->contents[point];
                    if (NILP (content))
                      reg[RRR] = -1;
                    else if (NUMBERP (content))
                      reg[rrr] = XINT (content);
-                   else if (EQ (content, Qt))
-                     reg[RRR] = i;
+                   else if (EQ (content, Qt));
                    else if (CONSP (content))
                      {
                        attrib = XCAR (content);