]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mail_search_args_equal() ignored some differences.
authorTimo Sirainen <tss@iki.fi>
Sun, 6 Dec 2015 16:08:20 +0000 (18:08 +0200)
committerTimo Sirainen <tss@iki.fi>
Sun, 6 Dec 2015 16:08:20 +0000 (18:08 +0200)
 - fuzzy flag
 - MAIL_SEARCH_ARG_FLAG_USE_TZ
 - INTHREAD thread type

src/lib-storage/mail-search.c

index af26df032f49546415f2b1b14800a0af9c5aa69a..34cbb3295f6c6b66261f31f7b8c094afc8ddb1a4 100644 (file)
@@ -587,7 +587,9 @@ static bool mail_search_arg_one_equals(const struct mail_search_arg *arg1,
                                       const struct mail_search_arg *arg2)
 {
        if (arg1->type != arg2->type ||
-           arg1->match_not != arg2->match_not)
+           arg1->match_not != arg2->match_not ||
+           arg1->fuzzy != arg2->fuzzy ||
+           arg1->value.search_flags != arg2->value.search_flags)
                return FALSE;
 
        switch (arg1->type) {
@@ -648,6 +650,8 @@ static bool mail_search_arg_one_equals(const struct mail_search_arg *arg1,
                        m1->type == m2->type;
        }
        case SEARCH_INTHREAD:
+               if (arg1->value.thread_type != arg2->value.thread_type)
+                       return FALSE;
                return mail_search_args_equal(arg1->initialized.search_args,
                                              arg2->initialized.search_args);
        }