]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
sort index: Messages without sort_id weren't sorted correctly on secondary
authorTimo Sirainen <tss@iki.fi>
Fri, 6 Jun 2008 17:07:45 +0000 (20:07 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 6 Jun 2008 17:07:45 +0000 (20:07 +0300)
sort conditions.

--HG--
branch : HEAD

src/lib-storage/index/index-sort-string.c

index 96c215284e1a9a026410c8d98edc861e54ed79bc..1d2d4248483b06b3ea33743555e5d82081025233 100644 (file)
@@ -213,10 +213,17 @@ void index_sort_list_add_string(struct mail_search_sort_program *program,
 
 static int sort_node_zero_string_cmp(const void *p1, const void *p2)
 {
+       struct sort_string_context *ctx = static_zero_cmp_context;
        const struct mail_sort_node *n1 = p1, *n2 = p2;
+       int ret;
+
+       ret = strcmp(ctx->sort_strings[n1->seq], ctx->sort_strings[n2->seq]);
+       if (ret != 0)
+               return ret;
 
-       return strcmp(static_zero_cmp_context->sort_strings[n1->seq],
-                     static_zero_cmp_context->sort_strings[n2->seq]);
+       return index_sort_node_cmp_type(ctx->program->temp_mail,
+                                       ctx->program->sort_program + 1,
+                                       n1->seq, n2->seq);
 }
 
 static void index_sort_zeroes(struct sort_string_context *ctx)