* @param cache Cached Patterns
* @retval true If ALL of the Patterns evaluates to true
*/
-static bool perform_and(struct PatternHead *pat, enum PatternExecFlag flags,
+static bool perform_and(struct PatternHead *pat, PatternExecFlags flags,
struct Mailbox *m, struct Email *e, struct PatternCache *cache)
{
struct Pattern *p = NULL;
* @param cache Cached Patterns
* @retval true If ONE (or more) of the Patterns evaluates to true
*/
-static int perform_or(struct PatternHead *pat, enum PatternExecFlag flags,
+static int perform_or(struct PatternHead *pat, PatternExecFlags flags,
struct Mailbox *m, struct Email *e, struct PatternCache *cache)
{
struct Pattern *p = NULL;
* @retval 1 Success, match found
* @retval 0 No match
*/
-static int match_threadcomplete(struct PatternHead *pat, enum PatternExecFlag flags,
+static int match_threadcomplete(struct PatternHead *pat, PatternExecFlags flags,
struct Mailbox *m, struct MuttThread *t,
int left, int up, int right, int down)
{
* @retval 0 Pattern did not match
* @retval -1 Error
*/
-static int match_threadparent(struct PatternHead *pat, enum PatternExecFlag flags,
+static int match_threadparent(struct PatternHead *pat, PatternExecFlags flags,
struct Mailbox *m, struct MuttThread *t)
{
if (!t || !t->parent || !t->parent->message)
* @retval 0 Pattern did not match
* @retval -1 Error
*/
-static int match_threadchildren(struct PatternHead *pat, enum PatternExecFlag flags,
+static int match_threadchildren(struct PatternHead *pat, PatternExecFlags flags,
struct Mailbox *m, struct MuttThread *t)
{
if (!t || !t->child)
* cache: For repeated matches against the same Header, passing in non-NULL will
* store some of the cacheable pattern matches in this structure.
*/
-int mutt_pattern_exec(struct Pattern *pat, enum PatternExecFlag flags,
+int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
struct Mailbox *m, struct Email *e, struct PatternCache *cache)
{
int result;
};
SLIST_HEAD(PatternHead, Pattern);
-/**
- * enum PatternExecFlag - Flags for mutt_pattern_exec()
- */
-enum PatternExecFlag
-{
- MUTT_MATCH_FULL_ADDRESS = 1, ///< Match the full address
-};
+typedef uint8_t PatternExecFlags; ///< Flags for mutt_pattern_exec(), e.g. #MUTT_MATCH_FULL_ADDRESS
+#define MUTT_PAT_EXEC_NO_FLAGS 0 ///< No flags are set
+#define MUTT_MATCH_FULL_ADDRESS (1 << 0) ///< Match the full address
/**
* struct PatternCache - Cache commonly-used patterns
MUTT_PAT_MAX,
};
-int mutt_pattern_exec(struct Pattern *pat, enum PatternExecFlag flags,
+int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
struct Mailbox *m, struct Email *e, struct PatternCache *cache);
struct PatternHead *mutt_pattern_comp(/* const */ char *s, int flags, struct Buffer *err);
void mutt_check_simple(char *s, size_t len, const char *simple);