From 3e937db1db323cc690bbadb552c17e8492589b8b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 6 Jun 2008 20:07:45 +0300 Subject: [PATCH] sort index: Messages without sort_id weren't sorted correctly on secondary sort conditions. --HG-- branch : HEAD --- src/lib-storage/index/index-sort-string.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib-storage/index/index-sort-string.c b/src/lib-storage/index/index-sort-string.c index 96c215284e..1d2d424848 100644 --- a/src/lib-storage/index/index-sort-string.c +++ b/src/lib-storage/index/index-sort-string.c @@ -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) -- 2.47.3