24#ifndef MUTT_MUTT_LIST_H
25#define MUTT_MUTT_LIST_H
struct ListNode * mutt_list_insert_tail(struct ListHead *h, char *s)
Append a string to the end of a List.
struct ListNode * mutt_list_find(const struct ListHead *h, const char *data)
Find a string in a List.
struct ListNode * mutt_list_insert_head(struct ListHead *h, char *s)
Insert a string at the beginning of a List.
bool mutt_list_compare(const struct ListHead *ah, const struct ListHead *bh)
Compare two string lists.
void mutt_list_clear(struct ListHead *h)
Free a list, but NOT its strings.
size_t mutt_list_str_split(struct ListHead *head, const char *src, char sep)
Split a string into a list using a separator char.
void(* list_free_t)(void **ptr)
void mutt_list_free(struct ListHead *h)
Free a List AND its strings.
void mutt_list_free_type(struct ListHead *h, list_free_t fn)
Free a List of type.
bool mutt_list_match(const char *s, struct ListHead *h)
Is the string in the list (see notes)
struct ListNode * mutt_list_insert_after(struct ListHead *h, struct ListNode *n, char *s)
Insert a string after a given ListNode.
#define STAILQ_HEAD(name, type)
STAILQ_ENTRY(ListNode) entries
Linked list.