notmuch_status_t status;
if (ctx->offset < 0) {
- ctx->offset += notmuch_query_count_threads (ctx->query);
+ unsigned count;
+ notmuch_status_t status;
+ status = notmuch_query_count_threads_st (ctx->query, &count);
+ if (print_status_query ("notmuch search", ctx->query, status))
+ return 1;
+
+ ctx->offset += count;
if (ctx->offset < 0)
ctx->offset = 0;
}
notmuch_status_t status;
if (ctx->offset < 0) {
- ctx->offset += notmuch_query_count_messages (ctx->query);
+ unsigned count;
+ notmuch_status_t status;
+ status = notmuch_query_count_messages_st (ctx->query, &count);
+ if (print_status_query ("notmuch search", ctx->query, status))
+ return 1;
+
+ ctx->offset += count;
if (ctx->offset < 0)
ctx->offset = 0;
}
_talloc_free_for_g_hash,
_list_free_for_g_hash);
+ /* The order is not guaranteed if a full pass is required, so go
+ * for fastest. */
+ if (ctx->output & OUTPUT_COUNT || ctx->dedup == DEDUP_ADDRESS)
+ notmuch_query_set_sort (ctx->query, NOTMUCH_SORT_UNSORTED);
+
ret = do_search_messages (ctx);
g_hash_table_unref (ctx->addresses);