23#ifndef MUTT_MUTT_SLIST_H
24#define MUTT_MUTT_SLIST_H
33#define SLIST_SEP_SPACE (1 << 13)
34#define SLIST_SEP_COMMA (1 << 14)
35#define SLIST_SEP_COLON (1 << 15)
37#define SLIST_SEP_MASK 0xE000
39#define SLIST_ALLOW_DUPES (1 << 17)
40#define SLIST_ALLOW_EMPTY (1 << 18)
41#define SLIST_CASE_SENSITIVE (1 << 19)
struct Slist * slist_remove_string(struct Slist *list, const char *str)
Remove a string from a list.
struct Slist * slist_empty(struct Slist **list)
Empty out an Slist object.
struct Slist * slist_parse(const char *str, uint32_t flags)
Parse a list of strings into a list.
bool slist_is_empty(const struct Slist *list)
Is the slist empty?
struct Slist * slist_add_list(struct Slist *list, const struct Slist *add)
Add a list to another list.
void slist_free(struct Slist **ptr)
Free an Slist object.
bool slist_compare(const struct Slist *a, const struct Slist *b)
Compare two string lists.
struct Slist * slist_add_string(struct Slist *list, const char *str)
Add a string to a list.
bool slist_is_member(const struct Slist *list, const char *str)
Is a string a member of a list?
struct Slist * slist_dup(const struct Slist *list)
Create a copy of an Slist object.
int slist_to_buffer(const struct Slist *list, struct Buffer *buf)
Export an Slist to a Buffer.
struct Slist * slist_new(uint32_t flags)
Create a new string list.
String manipulation buffer.
struct ListHead head
List containing values.
size_t count
Number of values in list.
uint32_t flags
Flags controlling list, e.g. SLIST_SEP_SPACE.