+static int map_l_char (void)
+{
+ char **mapto;
+ const char *cp0 = expr_ptr-1;
+ int i = 0, len = strlen(cp0);
+
+ if (cp0[0] == 1 && cp0[1])
+ {
+ expr_ptr++;
+ look_ch = cp0[1];
+ return L_CHAR;
+ }
+ if (!parse_info->cmap)
+ return L_CHAR;
+
+ mapto = (*parse_info->cmap) (&cp0, len);
+ assert (mapto);
+
+ expr_ptr = cp0;
+ look_ch = mapto[i][0];
+ logf (LOG_DEBUG, "map from %c to %d", expr_ptr[-1], look_ch);
+ return L_CHAR;
+}
+