Lines Matching full:cs
53 struct cset *cs; in cset_alloc() local
55 if ((cs = malloc(sizeof(*cs))) == NULL) in cset_alloc()
57 cs->cs_root = NULL; in cset_alloc()
58 cs->cs_classes = NULL; in cset_alloc()
59 cs->cs_havecache = false; in cset_alloc()
60 cs->cs_invert = false; in cset_alloc()
61 return (cs); in cset_alloc()
69 cset_add(struct cset *cs, wchar_t ch) in cset_add() argument
74 cs->cs_havecache = false; in cset_add()
79 if (cs->cs_root == NULL) { in cset_add()
80 csn = malloc(sizeof(*cs->cs_root)); in cset_add()
85 cs->cs_root = csn; in cset_add()
93 csn = cs->cs_root = cset_splay(cs->cs_root, ch); in cset_add()
117 cs->cs_root = ncsn; in cset_add()
151 cset_in_hard(struct cset *cs, wchar_t ch) in cset_in_hard() argument
155 for (csc = cs->cs_classes; csc != NULL; csc = csc->csc_next) in cset_in_hard()
157 return (cs->cs_invert ^ true); in cset_in_hard()
158 if (cs->cs_root != NULL) { in cset_in_hard()
159 cs->cs_root = cset_splay(cs->cs_root, ch); in cset_in_hard()
160 return (cs->cs_invert ^ (cset_rangecmp(cs->cs_root, ch) == 0)); in cset_in_hard()
162 return (cs->cs_invert ^ false); in cset_in_hard()
170 cset_cache(struct cset *cs) in cset_cache() argument
175 cs->cs_cache[i] = cset_in_hard(cs, i); in cset_cache()
177 cs->cs_havecache = true; in cset_cache()
185 cset_invert(struct cset *cs) in cset_invert() argument
188 cs->cs_invert ^= true; in cset_invert()
189 cs->cs_havecache = false; in cset_invert()
198 cset_addclass(struct cset *cs, wctype_t type, bool invert) in cset_addclass() argument
207 csc->csc_next = cs->cs_classes; in cset_addclass()
208 cs->cs_classes = csc; in cset_addclass()
209 cs->cs_havecache = false; in cset_addclass()