From c68236f3ca110f92c330e47f01e6eb33553d9857 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 7 Jun 2015 17:02:03 +0200 Subject: [PATCH] [PATCH 10/10] cli: convert remainder of CLI to n_q_search_{messages,threads}_st --- 06/39fa9438dc967aa914a5ef556dd9da8f14df4c | 250 ++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 06/39fa9438dc967aa914a5ef556dd9da8f14df4c diff --git a/06/39fa9438dc967aa914a5ef556dd9da8f14df4c b/06/39fa9438dc967aa914a5ef556dd9da8f14df4c new file mode 100644 index 000000000..1d6895521 --- /dev/null +++ b/06/39fa9438dc967aa914a5ef556dd9da8f14df4c @@ -0,0 +1,250 @@ +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 + -- 2.26.2