Lines Matching refs:filter

30 void strfilter__delete(struct strfilter *filter)  in strfilter__delete()  argument
32 if (filter) { in strfilter__delete()
33 strfilter_node__delete(filter->root); in strfilter__delete()
34 free(filter); in strfilter__delete()
162 struct strfilter *filter = zalloc(sizeof(*filter)); in strfilter__new() local
165 if (filter) in strfilter__new()
166 filter->root = strfilter_node__new(rules, &ep); in strfilter__new()
168 if (!filter || !filter->root || *ep != '\0') { in strfilter__new()
171 strfilter__delete(filter); in strfilter__new()
172 filter = NULL; in strfilter__new()
175 return filter; in strfilter__new()
178 static int strfilter__append(struct strfilter *filter, bool _or, in strfilter__append() argument
184 if (!filter || !rules) in strfilter__append()
193 root = strfilter_node__alloc(_or ? OP_or : OP_and, filter->root, right); in strfilter__append()
199 filter->root = root; in strfilter__append()
207 int strfilter__or(struct strfilter *filter, const char *rules, const char **err) in strfilter__or() argument
209 return strfilter__append(filter, true, rules, err); in strfilter__or()
212 int strfilter__and(struct strfilter *filter, const char *rules, in strfilter__and() argument
215 return strfilter__append(filter, false, rules, err); in strfilter__and()
239 bool strfilter__compare(struct strfilter *filter, const char *str) in strfilter__compare() argument
241 if (!filter) in strfilter__compare()
243 return strfilter_node__compare(filter->root, str); in strfilter__compare()
298 char *strfilter__string(struct strfilter *filter) in strfilter__string() argument
303 len = strfilter_node__sprint(filter->root, NULL); in strfilter__string()
309 strfilter_node__sprint(filter->root, ret); in strfilter__string()