Lines Matching defs:cs
50 struct cset *cs;
52 if ((cs = malloc(sizeof (*cs))) == NULL)
54 cs->cs_root = NULL;
55 cs->cs_classes = NULL;
56 cs->cs_havecache = false;
57 cs->cs_invert = false;
58 return (cs);
66 cset_add(struct cset *cs, wchar_t ch)
71 cs->cs_havecache = false;
76 if (cs->cs_root == NULL) {
77 csn = malloc(sizeof (*cs->cs_root));
82 cs->cs_root = csn;
90 csn = cs->cs_root = cset_splay(cs->cs_root, ch);
114 cs->cs_root = ncsn;
148 cset_in_hard(struct cset *cs, wchar_t ch)
152 for (csc = cs->cs_classes; csc != NULL; csc = csc->csc_next)
154 return (cs->cs_invert ^ true);
155 if (cs->cs_root != NULL) {
156 cs->cs_root = cset_splay(cs->cs_root, ch);
157 return (cs->cs_invert ^ (cset_rangecmp(cs->cs_root, ch) == 0));
159 return (cs->cs_invert ^ false);
167 cset_cache(struct cset *cs)
172 cs->cs_cache[i] = cset_in_hard(cs, i);
174 cs->cs_havecache = true;
182 cset_invert(struct cset *cs)
185 cs->cs_invert ^= true;
186 cs->cs_havecache = false;
195 cset_addclass(struct cset *cs, wctype_t type, bool invert)
204 csc->csc_next = cs->cs_classes;
205 cs->cs_classes = csc;
206 cs->cs_havecache = false;