Lines Matching refs:slist

50 	struct strlist *slist = container_of(rblist, struct strlist, rblist);  in strlist__node_delete()  local
53 str_node__delete(snode, slist->dupstr); in strlist__node_delete()
64 int strlist__add(struct strlist *slist, const char *new_entry) in strlist__add() argument
66 return rblist__add_node(&slist->rblist, new_entry); in strlist__add()
69 int strlist__load(struct strlist *slist, const char *filename) in strlist__load() argument
85 err = strlist__add(slist, entry); in strlist__load()
96 void strlist__remove(struct strlist *slist, struct str_node *snode) in strlist__remove() argument
98 rblist__remove_node(&slist->rblist, &snode->rb_node); in strlist__remove()
101 struct str_node *strlist__find(struct strlist *slist, const char *entry) in strlist__find() argument
104 struct rb_node *rb_node = rblist__find(&slist->rblist, entry); in strlist__find()
112 static int strlist__parse_list_entry(struct strlist *slist, const char *s, in strlist__parse_list_entry() argument
119 return strlist__load(slist, s + 7); in strlist__parse_list_entry()
127 err = strlist__load(slist, subst); in strlist__parse_list_entry()
131 if (slist->file_only) { in strlist__parse_list_entry()
137 err = strlist__add(slist, s); in strlist__parse_list_entry()
143 static int strlist__parse_list(struct strlist *slist, const char *s, const char *subst_dir) in strlist__parse_list() argument
150 err = strlist__parse_list_entry(slist, s, subst_dir); in strlist__parse_list()
157 return *s ? strlist__parse_list_entry(slist, s, subst_dir) : 0; in strlist__parse_list()
162 struct strlist *slist = malloc(sizeof(*slist)); in strlist__new() local
164 if (slist != NULL) { in strlist__new()
175 rblist__init(&slist->rblist); in strlist__new()
176 slist->rblist.node_cmp = strlist__node_cmp; in strlist__new()
177 slist->rblist.node_new = strlist__node_new; in strlist__new()
178 slist->rblist.node_delete = strlist__node_delete; in strlist__new()
180 slist->dupstr = dupstr; in strlist__new()
181 slist->file_only = file_only; in strlist__new()
183 if (list && strlist__parse_list(slist, list, dirname) != 0) in strlist__new()
187 return slist; in strlist__new()
189 free(slist); in strlist__new()
193 void strlist__delete(struct strlist *slist) in strlist__delete() argument
195 if (slist != NULL) in strlist__delete()
196 rblist__delete(&slist->rblist); in strlist__delete()
199 struct str_node *strlist__entry(const struct strlist *slist, unsigned int idx) in strlist__entry() argument
204 rb_node = rblist__entry(&slist->rblist, idx); in strlist__entry()