Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id A34956DE15BE for ; Sun, 7 Jun 2015 08:03:50 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 0.226 X-Spam-Level: X-Spam-Status: No, score=0.226 tagged_above=-999 required=5 tests=[AWL=0.216, T_HEADER_FROM_DIFFERENT_DOMAINS=0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XC06fXIjqJry for ; Sun, 7 Jun 2015 08:03:49 -0700 (PDT) Received: from mx.xen14.node3324.gplhost.com (gitolite.debian.net [87.98.215.224]) by arlo.cworth.org (Postfix) with ESMTPS id D95D76DE17D3 for ; Sun, 7 Jun 2015 08:03:48 -0700 (PDT) Received: from remotemail by mx.xen14.node3324.gplhost.com with local (Exim 4.80) (envelope-from ) id 1Z1c6M-0004oX-H0; Sun, 07 Jun 2015 15:03:06 +0000 Received: (nullmailer pid 7868 invoked by uid 1000); Sun, 07 Jun 2015 15:02:11 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: [PATCH 10/10] cli: convert remainder of CLI to n_q_search_{messages,threads}_st Date: Sun, 7 Jun 2015 17:02:03 +0200 Message-Id: <1433689323-7520-11-git-send-email-david@tethera.net> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1433689323-7520-1-git-send-email-david@tethera.net> References: <1433689323-7520-1-git-send-email-david@tethera.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2015 15:03:50 -0000 I think it would be no real problem to cut and paste the gdb based error message test from count to the other clients modified here, but I'm not currently convinced it's worth the trouble since the code path being tested is almost the the same, and the tests are relatively heavyweight. --- notmuch-dump.c | 7 ++++++- notmuch-reply.c | 20 +++++++++++++++++--- notmuch-search.c | 15 +++++++++------ notmuch-show.c | 10 +++++++--- notmuch-tag.c | 8 +++++++- 5 files changed, 46 insertions(+), 14 deletions(-) diff --git a/notmuch-dump.c b/notmuch-dump.c index fab22bd..c965a4f 100644 --- a/notmuch-dump.c +++ b/notmuch-dump.c @@ -48,8 +48,13 @@ database_dump_file (notmuch_database_t *notmuch, gzFile output, char *buffer = NULL; size_t buffer_size = 0; + notmuch_status_t status; - for (messages = notmuch_query_search_messages (query); + status = notmuch_query_search_messages_st (query, &messages); + if (print_status_query ("notmuch dump", query, status)) + return EXIT_FAILURE; + + for (; notmuch_messages_valid (messages); notmuch_messages_move_to_next (messages)) { int first = 1; diff --git a/notmuch-reply.c b/notmuch-reply.c index 4464741..602bdaa 100644 --- a/notmuch-reply.c +++ b/notmuch-reply.c @@ -606,8 +606,13 @@ notmuch_reply_format_default(void *ctx, notmuch_messages_t *messages; notmuch_message_t *message; mime_node_t *root; + notmuch_status_t status; - for (messages = notmuch_query_search_messages (query); + status = notmuch_query_search_messages_st (query, &messages); + if (print_status_query ("notmuch reply", query, status)) + return 1; + + for (; notmuch_messages_valid (messages); notmuch_messages_move_to_next (messages)) { @@ -650,13 +655,17 @@ notmuch_reply_format_sprinter(void *ctx, notmuch_messages_t *messages; notmuch_message_t *message; mime_node_t *node; + notmuch_status_t status; if (notmuch_query_count_messages (query) != 1) { fprintf (stderr, "Error: search term did not match precisely one message.\n"); return 1; } - messages = notmuch_query_search_messages (query); + status = notmuch_query_search_messages_st (query, &messages); + if (print_status_query ("notmuch reply", query, status)) + return 1; + message = notmuch_messages_get (messages); if (mime_node_open (ctx, message, &(params->crypto), &node) != NOTMUCH_STATUS_SUCCESS) return 1; @@ -698,8 +707,13 @@ notmuch_reply_format_headers_only(void *ctx, notmuch_message_t *message; const char *in_reply_to, *orig_references, *references; char *reply_headers; + notmuch_status_t status; + + status = notmuch_query_search_messages_st (query, &messages); + if (print_status_query ("notmuch reply", query, status)) + return 1; - for (messages = notmuch_query_search_messages (query); + for (; notmuch_messages_valid (messages); notmuch_messages_move_to_next (messages)) { diff --git a/notmuch-search.c b/notmuch-search.c index b89a17e..9887ebf 100644 --- a/notmuch-search.c +++ b/notmuch-search.c @@ -111,6 +111,7 @@ do_search_threads (search_context_t *ctx) sprinter_t *format = ctx->format; time_t date; int i; + notmuch_status_t status; if (ctx->offset < 0) { ctx->offset += notmuch_query_count_threads (ctx->query); @@ -118,8 +119,8 @@ do_search_threads (search_context_t *ctx) ctx->offset = 0; } - threads = notmuch_query_search_threads (ctx->query); - if (threads == NULL) + status = notmuch_query_search_threads_st (ctx->query, &threads); + if (print_status_query("notmuch search", ctx->query, status)) return 1; format->begin_list (format); @@ -412,6 +413,7 @@ do_search_messages (search_context_t *ctx) notmuch_filenames_t *filenames; sprinter_t *format = ctx->format; int i; + notmuch_status_t status; if (ctx->offset < 0) { ctx->offset += notmuch_query_count_messages (ctx->query); @@ -419,8 +421,8 @@ do_search_messages (search_context_t *ctx) ctx->offset = 0; } - messages = notmuch_query_search_messages (ctx->query); - if (messages == NULL) + status = notmuch_query_search_messages_st (ctx->query, &messages); + if (print_status_query ("notmuch search", ctx->query, status)) return 1; format->begin_list (format); @@ -508,8 +510,9 @@ do_search_tags (const search_context_t *ctx) if (strcmp (notmuch_query_get_query_string (query), "*") == 0) { tags = notmuch_database_get_all_tags (notmuch); } else { - messages = notmuch_query_search_messages (query); - if (messages == NULL) + notmuch_status_t status; + status = notmuch_query_search_messages_st (query, &messages); + if (print_status_query ("notmuch search", query, status)) return 1; tags = notmuch_messages_collect_tags (messages); diff --git a/notmuch-show.c b/notmuch-show.c index b80933a..aff39b0 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -982,13 +982,17 @@ do_show_single (void *ctx, { notmuch_messages_t *messages; notmuch_message_t *message; + notmuch_status_t status; if (notmuch_query_count_messages (query) != 1) { fprintf (stderr, "Error: search term did not match precisely one message.\n"); return 1; } - messages = notmuch_query_search_messages (query); + status = notmuch_query_search_messages_st (query, &messages); + if (print_status_query ("notmuch show", query, status)) + return 1; + message = notmuch_messages_get (messages); if (message == NULL) { @@ -1015,8 +1019,8 @@ do_show (void *ctx, notmuch_messages_t *messages; notmuch_status_t status, res = NOTMUCH_STATUS_SUCCESS; - threads = notmuch_query_search_threads (query); - if (! threads) + status= notmuch_query_search_threads_st (query, &threads); + if (print_status_query ("notmuch show", query, status)) return 1; sp->begin_list (sp); diff --git a/notmuch-tag.c b/notmuch-tag.c index 38d99aa..19108d9 100644 --- a/notmuch-tag.c +++ b/notmuch-tag.c @@ -97,6 +97,8 @@ tag_query (void *ctx, notmuch_database_t *notmuch, const char *query_string, notmuch_query_t *query; notmuch_messages_t *messages; notmuch_message_t *message; + notmuch_status_t status; + int ret = NOTMUCH_STATUS_SUCCESS; if (! (flags & TAG_FLAG_REMOVE_ALL)) { @@ -119,7 +121,11 @@ tag_query (void *ctx, notmuch_database_t *notmuch, const char *query_string, /* tagging is not interested in any special sort order */ notmuch_query_set_sort (query, NOTMUCH_SORT_UNSORTED); - for (messages = notmuch_query_search_messages (query); + status = notmuch_query_search_messages_st (query, &messages); + if (print_status_query ("notmuch tag", query, status)) + return status; + + for (; notmuch_messages_valid (messages) && ! interrupted; notmuch_messages_move_to_next (messages)) { message = notmuch_messages_get (messages); -- 2.1.4