Lines Matching refs:cs

593 	register cset *cs = allocset(p);  local
611 CHadd(cs, ']');
613 CHadd(cs, '-');
615 p_b_term(p, cs);
617 CHadd(cs, '-');
628 if (CHIN(cs, i) && isalpha(i)) {
631 CHadd(cs, ci);
633 if (cs->multis != NULL)
634 mccase(p, cs);
640 if (CHIN(cs, i))
641 CHsub(cs, i);
643 CHadd(cs, i);
645 CHsub(cs, '\n');
646 if (cs->multis != NULL)
647 mcinvert(p, cs);
650 assert(cs->multis == NULL); /* xxx */
652 if (nch(p, cs) == 1) { /* optimize singleton sets */
653 ordinary(p, firstch(p, cs));
654 freeset(p, cs);
656 EMIT(OANYOF, freezeset(p, cs));
664 p_b_term(p, cs) in p_b_term() argument
666 register cset *cs;
692 p_b_cclass(p, cs);
701 p_b_eclass(p, cs);
720 CHadd(cs, i);
730 p_b_cclass(p, cs) in p_b_cclass() argument
732 register cset *cs;
754 CHadd(cs, c);
756 MCadd(p, cs, u);
766 p_b_eclass(p, cs) in p_b_eclass() argument
768 register cset *cs;
773 CHadd(cs, c);
1014 register cset *cs; local
1048 cs = &p->g->sets[no];
1049 cs->ptr = p->g->setbits + css*((no)/CHAR_BIT);
1050 cs->mask = 1 << ((no) % CHAR_BIT);
1051 cs->hash = 0;
1052 cs->smultis = 0;
1053 cs->multis = NULL;
1055 return(cs);
1063 freeset(p, cs) in freeset() argument
1065 register cset *cs;
1072 CHsub(cs, i);
1073 if (cs == top-1) /* recover only the easy case */
1088 freezeset(p, cs) in freezeset() argument
1090 register cset *cs;
1092 register uch h = cs->hash;
1100 if (cs2->hash == h && cs2 != cs) {
1103 if (!!CHIN(cs2, i) != !!CHIN(cs, i))
1110 freeset(p, cs);
1111 cs = cs2;
1114 return((int)(cs - p->g->sets));
1122 firstch(p, cs) in firstch() argument
1124 register cset *cs;
1130 if (CHIN(cs, i))
1141 nch(p, cs) in nch() argument
1143 register cset *cs;
1150 if (CHIN(cs, i))
1161 mcadd(p, cs, cp) in mcadd() argument
1163 register cset *cs;
1166 register size_t oldend = cs->smultis;
1168 cs->smultis += strlen(cp) + 1;
1169 if (cs->multis == NULL)
1170 cs->multis = malloc(cs->smultis);
1172 cs->multis = realloc(cs->multis, cs->smultis);
1173 if (cs->multis == NULL) {
1178 (void) strcpy(cs->multis + oldend - 1, cp);
1179 cs->multis[cs->smultis - 1] = '\0';
1188 mcsub(cs, cp)
1189 register unsigned cset *cs;
1192 register unsigned char *fp = mcfind(cs, cp);
1197 cs->smultis - (fp + len + 1 - cs->multis));
1198 cs->smultis -= len;
1200 if (cs->smultis == 0) {
1201 free(cs->multis);
1202 cs->multis = NULL;
1206 cs->multis = realloc(cs->multis, cs->smultis);
1207 assert(cs->multis != NULL);
1215 mcin(cs, cp)
1216 register cset *cs;
1219 return(mcfind(cs, cp) != NULL);
1228 mcfind(cs, cp)
1229 register cset *cs;
1234 if (cs->multis == NULL)
1236 for (p = cs->multis; *p != '\0'; p += strlen(p) + 1)
1251 mcinvert(p, cs) in mcinvert() argument
1253 register cset *cs;
1255 assert(cs->multis == NULL); /* xxx */
1266 mccase(p, cs) in mccase() argument
1268 register cset *cs;
1270 assert(cs->multis == NULL); /* xxx */