From 8b4c6008c8402cbfdf45291951346da827eb56e6 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Mon, 7 Sep 2015 10:15:47 +2100 Subject: [PATCH] [PATCH 3/3] cli: convert remainder of CLI to n_q_search_{messages,threads}_st --- c4/7f979c81ff04a23237f692132ffbb1efe607fb | 250 ++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 c4/7f979c81ff04a23237f692132ffbb1efe607fb diff --git a/c4/7f979c81ff04a23237f692132ffbb1efe607fb b/c4/7f979c81ff04a23237f692132ffbb1efe607fb new file mode 100644 index 000000000..0428a0a80 --- /dev/null +++ b/c4/7f979c81ff04a23237f692132ffbb1efe607fb @@ -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 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 + -- 2.26.2