8 register int matches = 0;
12 register int squash = arg[2].arg_len & 1;
14 tbl = (short*) arg[2].arg_ptr.arg_cval;
16 send = s + TARG->str_cur;
18 fatal("panic: do_trans");
24 if (!arg[2].arg_len) {
26 if ((ch = tbl[*s & 0377]) >= 0) {
36 if ((ch = tbl[*s & 0377]) >= 0) {
38 if (matches++ && squash) {
47 else if (ch == -1) /* -1 is unmapped character */
48 *d++ = *s; /* -2 is delete character */
51 matches += send - d; /* account for disappeared chars */
53 TARG->str_cur = d - TARG->str_ptr;