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 275F86DE1636 for ; Sun, 6 Sep 2015 06:58:46 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 2.65 X-Spam-Level: ** X-Spam-Status: No, score=2.65 tagged_above=-999 required=5 tests=[AWL=-1.040, RCVD_IN_BRBL_LASTEXT=1.644, RCVD_IN_SBL=2.596, RP_MATCHES_RCVD=-0.55] 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 Dxb4x7nrvGp0 for ; Sun, 6 Sep 2015 06:58:44 -0700 (PDT) Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) by arlo.cworth.org (Postfix) with ESMTPS id 57A9A6DE163F for ; Sun, 6 Sep 2015 06:58:44 -0700 (PDT) Received: from remotemail by yantan.tethera.net with local (Exim 4.80) (envelope-from ) id 1ZYZna-0002xJ-Iv; Sun, 06 Sep 2015 10:15:58 -0300 Received: (nullmailer pid 29730 invoked by uid 1000); Sun, 06 Sep 2015 13:15:48 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: [PATCH 3/3] cli: convert remainder of CLI to n_q_search_{messages,threads}_st Date: Sun, 6 Sep 2015 10:15:47 -0300 Message-Id: <1441545347-29549-3-git-send-email-david@tethera.net> X-Mailer: git-send-email 2.5.1 In-Reply-To: <1441545347-29549-1-git-send-email-david@tethera.net> References: <1441545347-29549-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, 06 Sep 2015 13:58:46 -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 24fc2f2..829781f 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 7c5c28f..fd6a1ec 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 3076c3f..bade114 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 4356025..e054808 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -895,13 +895,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) { @@ -928,8 +932,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 7ae98f6..c020cb6 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.5.1