diff options
Diffstat (limited to 'path-list.h')
-rw-r--r-- | path-list.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/path-list.h b/path-list.h new file mode 100644 index 0000000000..ca2cbbaa4d --- /dev/null +++ b/path-list.h @@ -0,0 +1,28 @@ +#ifndef PATH_LIST_H +#define PATH_LIST_H + +struct path_list_item { + char *path; + void *util; +}; +struct path_list +{ + struct path_list_item *items; + unsigned int nr, alloc; + unsigned int strdup_paths:1; +}; + +void print_path_list(const char *text, const struct path_list *p); +void path_list_clear(struct path_list *list, int free_util); + +/* Use these functions only on sorted lists: */ +int path_list_has_path(const struct path_list *list, const char *path); +struct path_list_item *path_list_insert(const char *path, struct path_list *list); +struct path_list_item *path_list_lookup(const char *path, struct path_list *list); + +/* Use these functions only on unsorted lists: */ +struct path_list_item *path_list_append(const char *path, struct path_list *list); +void sort_path_list(struct path_list *list); +int unsorted_path_list_has_path(struct path_list *list, const char *path); + +#endif /* PATH_LIST_H */ |