66{
68 bool rc = false;
69 char *pexpr = s->
dptr;
72 {
73 buf_printf(err,
_(
"Error in expression: %s"), pexpr);
74 goto out;
75 }
77 {
79 goto out;
80 }
81
83 {
86 }
88 {
90 }
91 else
92 {
94#ifdef USE_DEBUG_GRAPHVIZ
96#endif
99 if (rc2 != 0)
100 {
101 char errmsg[256] = { 0 };
102 regerror(rc2, pat->
p.
regex, errmsg,
sizeof(errmsg));
105 goto out;
106 }
107 }
108
109 rc = true;
110
111out:
113 return rc;
114}
int buf_printf(struct Buffer *buf, const char *fmt,...)
Format a string overwriting a Buffer.
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
char * buf_strdup(const struct Buffer *buf)
Copy a Buffer's string.
struct Group * groups_get_group(struct HashTable *groups, const char *name)
Get a Group by its name.
bool mutt_mb_is_lower(const char *s)
Does a multi-byte string contain only lowercase characters?
#define MUTT_MEM_CALLOC(n, type)
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
#define REG_COMP(preg, regex, cflags)
Compile a regular expression.
String manipulation buffer.
char * dptr
Current read/write position.
char * data
Pointer to data.
Container for Accounts, Notifications.
struct HashTable * groups
Hash Table: "group-name" -> Group.
bool group_match
Check a group of Addresses.
union Pattern::@006112053024257132210207314205210350156165326341 p
struct Group * group
Address group if group_match is set.
bool string_match
Check a string for a match.
regex_t * regex
Compiled regex, for non-pattern matching.
char * str
String, if string_match is set.
bool ign_case
Ignore case for local string_match searches.