comparison src/mule-ccl.c @ 4134:ac5a714be3a2

[xemacs-hg @ 2007-08-21 20:32:33 by aidan] Don't use args to XINT_OR_CHAR where multiple evaluation is possible; revise X_I_O_C to not multiply evaluate.
author aidan
date Tue, 21 Aug 2007 20:32:37 +0000
parents 6f05405e63fc
children 76737c305982
comparison
equal deleted inserted replaced
4133:5b55fa103aa1 4134:ac5a714be3a2
1576 case CCL_IterateMultipleMap: 1576 case CCL_IterateMultipleMap:
1577 { 1577 {
1578 Lisp_Object map, content, attrib, value; 1578 Lisp_Object map, content, attrib, value;
1579 int point, size, fin_ic; 1579 int point, size, fin_ic;
1580 1580
1581 j = XCHAR_OR_INT (ccl_prog[ic++]); /* number of maps. */ 1581 j = XCHAR_OR_INT (ccl_prog[ic]); ic++; /* number of maps. */
1582 fin_ic = ic + j; 1582 fin_ic = ic + j;
1583 op = reg[rrr]; 1583 op = reg[rrr];
1584 if ((j > reg[RRR]) && (j >= 0)) 1584 if ((j > reg[RRR]) && (j >= 0))
1585 { 1585 {
1586 ic += reg[RRR]; 1586 ic += reg[RRR];
1691 else 1691 else
1692 mapping_stack_pointer = mapping_stack; 1692 mapping_stack_pointer = mapping_stack;
1693 stack_idx_of_map_multiple = 0; 1693 stack_idx_of_map_multiple = 0;
1694 1694
1695 map_set_rest_length = 1695 map_set_rest_length =
1696 XCHAR_OR_INT (ccl_prog[ic++]); /* number of maps and separators. */ 1696 XCHAR_OR_INT (ccl_prog[ic]); ic++; /* number of maps and separators. */
1697 fin_ic = ic + map_set_rest_length; 1697 fin_ic = ic + map_set_rest_length;
1698 op = reg[rrr]; 1698 op = reg[rrr];
1699 1699
1700 if ((map_set_rest_length > reg[RRR]) && (reg[RRR] >= 0)) 1700 if ((map_set_rest_length > reg[RRR]) && (reg[RRR] >= 0))
1701 { 1701 {
1878 1878
1879 case CCL_MapSingle: 1879 case CCL_MapSingle:
1880 { 1880 {
1881 Lisp_Object map, attrib, value, content; 1881 Lisp_Object map, attrib, value, content;
1882 int size, point; 1882 int size, point;
1883 j = XCHAR_OR_INT (ccl_prog[ic++]); /* map_id */ 1883 j = XCHAR_OR_INT (ccl_prog[ic]); ic++;/* map_id */
1884 op = reg[rrr]; 1884 op = reg[rrr];
1885 if (j >= XVECTOR (Vcode_conversion_map_vector)->size) 1885 if (j >= XVECTOR (Vcode_conversion_map_vector)->size)
1886 { 1886 {
1887 reg[RRR] = -1; 1887 reg[RRR] = -1;
1888 break; 1888 break;