53 for (; rdata->
did != -1; rdata++)
77 for (; rdata->
did != -1; rdata++)
98 if (*start == terminator)
118 return isalpha(ch) || (ch ==
' ') || (ch ==
'!') || (ch ==
'(') ||
119 (ch ==
'*') || (ch ==
'>') || (ch ==
'@') || (ch ==
'[') ||
120 (ch ==
'^') || (ch ==
'{') || (ch ==
'|');
157 if (is_two_char && (name[0] == *str) && (name[1] == *(str + 1)))
178 if (!buf || !buf->
data)
196 *p = tolower((
unsigned char) *p);
Define an Expando format string.
const char * skip_until_ch(const char *start, char terminator)
Search a string for a terminator character.
const char * skip_classic_expando(const char *str, const struct ExpandoDefinition *defs)
Skip over the text of an Expando.
const char * skip_until_classic_expando(const char *start)
Search through string until we reach an Expando character.
const struct ExpandoRenderData * find_get_number(const struct ExpandoRenderData *rdata, int did, int uid)
Find a get_number() callback function.
const struct ExpandoRenderData * find_get_string(const struct ExpandoRenderData *rdata, int did, int uid)
Find a get_string() callback function.
static bool is_valid_classic_expando(char ch)
Is this a valid Expando character?
void buf_lower_special(struct Buffer *buf)
Convert to lowercase, excluding special characters.
Convenience wrapper for the library headers.
size_t mutt_str_len(const char *a)
Calculate the length of a string, safely.
Create/manipulate threading in emails.
@ MUTT_SPECIAL_INDEX
Colour indicator.
Render Expandos using Data.
String manipulation buffer.
char * data
Pointer to data.
Definition of a format string.
const char * short_name
Short Expando name, e.g. "n".
long(* get_number)(const struct ExpandoNode *node, void *data, MuttFormatFlags flags)
void(* get_string)(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)