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

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


details:   http://hg.dovecot.org/dovecot-1.1/rev/76ae054a7c57
changeset: 7996:76ae054a7c57
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 ee14c42b3d1b -r 76ae054a7c57 src/plugins/fts/fts-search.c
--- a/src/plugins/fts/fts-search.c	Sat Nov 01 18:23:02 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;
@@ -200,9 +201,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);
@@ -223,6 +226,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