diff options
Diffstat (limited to 'camel/camel-filter-search.c')
-rw-r--r-- | camel/camel-filter-search.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/camel/camel-filter-search.c b/camel/camel-filter-search.c index 9cbb87cce6..d6d60e2cf3 100644 --- a/camel/camel-filter-search.c +++ b/camel/camel-filter-search.c @@ -438,7 +438,18 @@ get_size (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessageS return r; } -gboolean + +/** + * camel_filter_search_match: + * @message: + * @info: + * @source: + * @expression: + * @ex: + * + * Returns one of CAMEL_SEARCH_MATCHED, CAMEL_SEARCH_NOMATCH, or CAMEL_SEARCH_ERROR. + **/ +int camel_filter_search_match (CamelMimeMessage *message, CamelMessageInfo *info, const char *source, const char *expression, CamelException *ex) { @@ -478,9 +489,9 @@ camel_filter_search_match (CamelMimeMessage *message, CamelMessageInfo *info, } if (result->type == ESEXP_RES_BOOL) - retval = result->value.bool; + retval = result->value.bool ? CAMEL_SEARCH_MATCHED : CAMEL_SEARCH_NOMATCH; else - retval = FALSE; + retval = CAMEL_SEARCH_NOMATCH; e_sexp_result_free (sexp, result); e_sexp_unref (sexp); @@ -489,5 +500,5 @@ camel_filter_search_match (CamelMimeMessage *message, CamelMessageInfo *info, error: e_sexp_unref (sexp); - return FALSE; + return CAMEL_SEARCH_ERROR; } |