Mercurial > dovecot > original-hg > dovecot-1.2
diff src/lib-storage/mail-search.h @ 1069:8024a2cdc406 HEAD
Several search fixes, mostly related to matching multiple conditions.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 01 Feb 2003 13:24:17 +0200 |
parents | 8028c4dcf38f |
children | 8920600a8cfc |
line wrap: on
line diff
--- a/src/lib-storage/mail-search.h Sat Feb 01 12:29:17 2003 +0200 +++ b/src/lib-storage/mail-search.h Sat Feb 01 13:24:17 2003 +0200 @@ -61,9 +61,15 @@ const char *hdr_field_name; /* for SEARCH_HEADER */ unsigned int not:1; - int result; + int result; /* -1 = unknown, 0 = unmatched, 1 = matched */ }; +#define ARG_SET_RESULT(arg, res) \ + STMT_START { \ + (arg)->result = !(arg)->not ? (res) : \ + (res) == -1 ? -1 : !(res); \ + } STMT_END + typedef void (*mail_search_foreach_callback_t)(struct mail_search_arg *arg, void *context); @@ -71,7 +77,7 @@ void mail_search_args_reset(struct mail_search_arg *args); /* goes through arguments in list that don't have a result yet. - Returns 1 = search matched, -1 = search unmatched, 0 = don't know yet */ + Returns 1 = search matched, 0 = search unmatched, -1 = don't know yet */ int mail_search_args_foreach(struct mail_search_arg *args, mail_search_foreach_callback_t callback, void *context);