85 if (str && (str[0] ==
'\0'))
167 struct Slist *slist = *ptr;
183 return list->
count == 0;
235 for (
char *p = start; *p; p++)
237 if ((p[0] ==
'\\') && (p[1] !=
'\0'))
309 if (!list || !buf || (list->
count == 0))
size_t buf_addch(struct Buffer *buf, char c)
Add a single character to a Buffer.
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
General purpose object for storing and parsing strings.
struct ListNode * mutt_list_insert_tail(struct ListHead *h, char *s)
Append a string to the end of a List.
bool mutt_list_compare(const struct ListHead *ah, const struct ListHead *bh)
Compare two string lists.
void mutt_list_free(struct ListHead *h)
Free a List AND its strings.
void * mutt_mem_calloc(size_t nmemb, size_t size)
Allocate zeroed memory on the heap.
Memory management wrappers.
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.
char * mutt_str_dup(const char *str)
Copy a string, safely.
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
#define STAILQ_REMOVE_HEAD(head, field)
#define STAILQ_INIT(head)
#define STAILQ_REMOVE_AFTER(head, elm, field)
#define STAILQ_FOREACH(var, head, field)
#define STAILQ_FOREACH_SAFE(var, head, field, tvar)
#define STAILQ_NEXT(elm, field)
A separated list of strings.
#define SLIST_ALLOW_EMPTY
String manipulation functions.
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.