Lines Matching refs:ep

478 	register Entry_t*	ep;
498 for (ep = mp->magic; ep; ep = ep->next)
501 if (ep->nest == '{')
516 switch (ep->cont)
534 if (ep->type == ' ')
540 mp->ret[++call] = ep;
541 ep = ep->value.lab;
546 ep = mp->ret[call--];
547 if (ep->op == 'l')
565 if (!ep->expr)
566 num = ep->offset + off;
568 switch (ep->offset)
571 num = strexpr(ep->expr, NiL, indirect, mp) + off;
575 ep->type = 'D';
579 ep->type = 'N';
583 ep->type = 'D';
587 ep->type = toupper(ep->type);
590 if (ep->type == 'e' || ep->type == 'm' || ep->type == 's')
593 ep->type = toupper(ep->type);
598 ep->type = 'N';
602 if (ep->type == 'e' || ep->type == 'm' || ep->type == 's')
605 ep->type = toupper(ep->type);
610 ep->type = 'N';
615 ep->type = 'D';
626 ep->type = toupper(ep->type);
630 ep->type = 'N';
634 ep->type = 'N';
637 if (ep->type == 'e' || ep->type == 'm' || ep->type == 's')
640 ep->type = toupper(ep->type);
645 ep->type = 'N';
649 switch (ep->type)
661 num = swapget(ep->swap ? (~ep->swap ^ mp->swap) : mp->swap, p, 2);
669 num = swapget(ep->swap ? (~ep->swap ^ mp->swap) : mp->swap, p, 4);
675 num = swapget(ep->swap ? (~ep->swap ^ mp->swap) : mp->swap, p, 8);
683 if (!ep->value.sub)
685 if ((c = regexec(ep->value.sub, p, elementsof(matches), matches, 0)) || (c = regsubexec(ep->value.sub, p, elementsof(matches), matches)))
693 if ((c = regexec(ep->value.sub, p, elementsof(matches), matches, 0)) || (c = regsubexec(ep->value.sub, p, elementsof(matches), matches)))
696 regmessage(mp, ep->value.sub, c);
700 p = ep->value.sub->re_sub->re_buf;
701 q = T(ep->desc);
706 if (ep->mime)
707 mp->mime = ep->mime;
711 if (!(p = getdata(mp, num, ep->mask)))
723 if (*ep->value.str == '*' && !*(ep->value.str + 1) && isprint(*p))
725 if ((ep->type == 'm' || ep->type == 'M') ? strmatch(p, ep->value.str) : !memcmp(p, ep->value.str, ep->mask))
727 if (p == mp->nbuf || ep->mask >= sizeof(mp->nbuf))
729 p = (char*)memcpy(mp->nbuf, p, ep->mask);
730 p[ep->mask] = 0;
731 ccmapstr(mp->x2n, p, ep->mask);
733 q = T(ep->desc);
740 if (ep->mime)
741 mp->mime = ep->mime;
745 if (mask = ep->mask)
747 switch (ep->op)
752 if (num == ep->value.num)
754 if (ep->cont != '#')
758 if (ep->type == 'h')
760 if ((num = swapget(mp->swap = 1, p, 2) & mask) == ep->value.num)
767 else if (ep->type == 'l')
770 if ((num = swapget(mp->swap = c, p, 4) & mask) == ep->value.num)
777 else if (ep->type == 'q')
780 if ((num = swapget(mp->swap = c, p, 8) & mask) == ep->value.num)
786 if (num != ep->value.num)
791 if (num ^ ep->value.num)
796 if (num > ep->value.num)
801 if (num < ep->value.num)
808 if (!ep->value.loop->count)
810 ep->value.loop->count = num;
811 ep->value.loop->offset = off;
812 off = ep->value.loop->start;
814 else if (!--ep->value.loop->count)
816 off = ep->value.loop->offset;
820 off += ep->value.loop->size;
821 mp->ret[++call] = ep;
822 ep = ep->value.loop->lab;
837 else if (ep->cont == '&')
853 *ep->desc = 0;
854 *ep->mime = 0;
860 ep->mime = vmnewof(mp->vm, ep->mime, char, sfvalue(rp), 0);
861 strcpy(ep->mime, t + 13);
870 ep->desc = vmnewof(mp->vm, ep->desc, char, strlen(t), 1);
871 strcpy(ep->desc, t);
872 if (*ep->mime)
880 if (!*ep->mime)
882 t = T(ep->desc);
888 ep->mime = vmnewof(mp->vm, ep->mime, char, strlen(t), strlen(e));
889 e = strcopy(ep->mime, e);
897 ep->desc = vmnewof(mp->vm, ep->desc, char, sfvalue(gp), 0);
898 strcpy(ep->desc, t);
902 if (!*ep->desc)
905 for (t = T(ep->desc); *t; t++)
910 mp->mime = ep->mime;
914 if (ep->cont == '#' && !mp->keep[level])
940 q = T(ep->desc);
968 else if (ep->type == 'd' || ep->type == 'D')
970 else if (ep->type == 'v')
974 if (ep->mime && *ep->mime)
975 mp->mime = ep->mime;
977 if (ep->nest == '}')
994 if (ep->cont == '&')
1667 register Entry_t* ep;
1692 first = ep = vmnewof(mp->vm, 0, Entry_t, 1, 0);
1710 ep->nest = *p;
1723 ep->cont = ':';
1724 ep->offset = ret->offset;
1725 ep->nest = ' ';
1726 ep->type = ' ';
1727 ep->op = ' ';
1728 ep->desc = "[RETURN]";
1729 last = ep;
1730 ep = ret->next = vmnewof(mp->vm, 0, Entry_t, 1, 0);
1753 ret = ep;
1754 ep->desc = "[FUNCTION]";
1760 ep->desc = "[CALL]";
1762 ep->cont = cont;
1763 ep->offset = n;
1764 ep->nest = ' ';
1765 ep->type = ' ';
1766 ep->op = ' ';
1767 last = ep;
1768 ep = ep->next = vmnewof(mp->vm, 0, Entry_t, 1, 0);
1770 fun[n] = last->value.lab = ep;
1775 if (!ep->nest)
1776 ep->nest = (lev > 0 && lev != ent) ? ('0' + lev - !!ent) : ' ';
1803 ep->nest = '1';
1810 ep->cont = *p++;
1819 ep->cont = (lev > 0) ? '&' : '#';
1835 ep->nest = ' ';
1836 if (ep->cont == '&')
1837 ep->cont = '#';
1850 ep->offset = strton(p, &next, NiL, 0);
1868 ep->expr = vmstrdup(mp->vm, p);
1870 ep->offset = (ip = (Info_t*)dtmatch(mp->infotab, p)) ? ip->value : 0;
1871 else if (*p == '(' && ep->cont == '>')
1877 p = ep->expr + 1;
1896 *ep->expr = '@';
1916 ep->swap = ~(*p == 'l' ? 7 : 0);
1922 ep->type = 'h';
1924 ep->type = 's';
1927 ep->type = 's';
1929 ep->type = *p;
1936 ep->mask = strton(++p, NiL, NiL, 0);
1939 if (ep->mask)
2012 if (ep->type == 'e' || ep->type == 'm' || ep->type == 's')
2013 ep->op = '=';
2018 ep->mask = strton(++p, &next, NiL, 0);
2027 ep->op = *p++;
2031 switch (ep->op)
2044 ep->op = *p++;
2050 ep->op = '*';
2053 ep->op = '=';
2054 if (ep->mask)
2055 ep->value.num = ep->mask;
2059 if (ep->op != '*' && !ep->value.num)
2061 if (ep->type == 'e')
2063 if (ep->value.sub = vmnewof(mp->vm, 0, regex_t, 1, 0))
2065 ep->value.sub->re_disc = &mp->redisc;
2066 if (!(n = regcomp(ep->value.sub, p, REG_DELIMITED|REG_LENIENT|REG_NULL|REG_DISCIPLINE)))
2068 p += ep->value.sub->re_npat;
2069 if (!(n = regsubcomp(ep->value.sub, p, NiL, 0, 0)))
2070 p += ep->value.sub->re_npat;
2074 regmessage(mp, ep->value.sub, n);
2075 ep->value.sub = 0;
2081 else if (ep->type == 'm')
2083 ep->mask = stresc(p) + 1;
2084 ep->value.str = vmnewof(mp->vm, 0, char, ep->mask + 1, 0);
2085 memcpy(ep->value.str, p, ep->mask);
2086 if ((!ep->expr || !ep->offset) && !strmatch(ep->value.str, "\\!\\(*\\)"))
2087 ep->value.str[ep->mask - 1] = '*';
2089 else if (ep->type == 's')
2091 ep->mask = stresc(p);
2092 ep->value.str = vmnewof(mp->vm, 0, char, ep->mask, 0);
2093 memcpy(ep->value.str, p, ep->mask);
2098 ep->value.num = *(unsigned char*)(p + 1) + lge;
2105 ep->type = 'V';
2106 ep->op = *p;
2108 switch (ep->op)
2124 ep->value.loop = vmnewof(mp->vm, 0, Loop_t, 1, 0);
2125 ep->value.loop->lab = fun[n];
2127 ep->value.loop->start = strton(p, &t, NiL, 0);
2129 ep->value.loop->size = strton(t, &t, NiL, 0);
2134 ep->desc = vmnewof(mp->vm, 0, char, 32, 0);
2135 ep->mime = vmnewof(mp->vm, 0, char, 32, 0);
2147 ep->value.num = strton(p, NiL, NiL, 0) + lge;
2148 if (ep->op == '@')
2149 ep->value.num = swapget(0, (char*)&ep->value.num, sizeof(ep->value.num));
2183 ep->desc = vmstrdup(mp->vm, p2);
2188 ep->mime = vmstrdup(mp->vm, p);
2192 ep->desc = "";
2198 last = ep;
2199 ep = ep->next = vmnewof(mp->vm, 0, Entry_t, 1, 0);
2210 vmfree(mp->vm, ep);
2443 register Entry_t* ep = mp->magic;
2448 while (ep)
2450 sfprintf(sp, "%c %c\t", ep->cont, ep->nest);
2451 if (ep->expr)
2452 sfprintf(sp, "%s", ep->expr);
2454 sfprintf(sp, "%ld", ep->offset);
2455 sfprintf(sp, "\t%s%c\t%c\t%lo\t", ep->swap == (char)~3 ? "L" : ep->swap == (char)~0 ? "B" : "", ep->type, ep->op, ep->mask);
2456 switch (ep->type)
2460 sfputr(sp, fmtesc(ep->value.str), -1);
2463 switch (ep->op)
2466 sfprintf(sp, "loop(%d,%d,%d,%d)", ep->value.loop->start, ep->value.loop->size, ep->value.loop->count, ep->value.loop->offset);
2472 sfprintf(sp, "%p", ep->value.str);
2477 sfprintf(sp, "%lo", ep->value.num);
2480 sfprintf(sp, "\t%s\t%s\n", ep->mime ? ep->mime : "", fmtesc(ep->desc));
2481 if (ep->cont == '$' && !ep->value.lab->mask)
2483 rp = ep;
2484 ep = ep->value.lab;
2488 if (ep->cont == ':')
2490 ep = rp;
2491 ep->value.lab->mask = 1;
2493 ep = ep->next;