dovecot-1.2: fts: Handle also SEARCH_HEADER_COMPRESS_LWSP, not j...

dovecot at dovecot.org dovecot at dovecot.org
Wed Nov 5 13:51:04 EET 2008


details:   http://hg.dovecot.org/dovecot-1.2/rev/63f7e1ad7646
changeset: 8385:63f7e1ad7646
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Nov 05 13:51:00 2008 +0200
description:
fts: Handle also SEARCH_HEADER_COMPRESS_LWSP, not just SEARCH_HEADER.

diffstat:

1 file changed, 7 insertions(+), 3 deletions(-)
src/plugins/fts/fts-search.c |   10 +++++++---

diffs (34 lines):

diff -r c6482b5cdea1 -r 63f7e1ad7646 src/plugins/fts/fts-search.c
--- a/src/plugins/fts/fts-search.c	Sat Nov 01 22:49:14 2008 +0200
+++ b/src/plugins/fts/fts-search.c	Wed Nov 05 13:51:00 2008 +0200
@@ -54,6 +54,7 @@ static int fts_search_lookup_arg(struct 
 
 	switch (arg->type) {
 	case SEARCH_HEADER:
+	case SEARCH_HEADER_COMPRESS_LWSP:
 		/* we can filter out messages that don't have the header,
 		   but we can't trust definite results list. */
 		flags = FTS_LOOKUP_FLAG_HEADER;
@@ -201,9 +202,11 @@ static bool arg_is_better(const struct m
 
 	/* prefer not to use headers. they have a larger possibility of
 	   having lots of identical strings */
-	if (old_arg->type == SEARCH_HEADER)
-		return TRUE;
-	else if (new_arg->type == SEARCH_HEADER)
+	if (old_arg->type == SEARCH_HEADER ||
+	    old_arg->type == SEARCH_HEADER_COMPRESS_LWSP)
+		return TRUE;
+	else if (new_arg->type == SEARCH_HEADER ||
+		 new_arg->type == SEARCH_HEADER_COMPRESS_LWSP)
 		return FALSE;
 
 	return strlen(new_arg->value.str) > strlen(old_arg->value.str);
@@ -224,6 +227,7 @@ fts_search_args_find_best(struct mail_se
 		case SEARCH_BODY:
 		case SEARCH_TEXT:
 		case SEARCH_HEADER:
+		case SEARCH_HEADER_COMPRESS_LWSP:
 			if (arg_is_better(args, *best_substr_arg))
 				*best_substr_arg = args;
 			break;


More information about the dovecot-cvs mailing list