From 6cdd34a4c762c954426f586d514a3e041c1db3b0 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 6 Sep 2015 10:15:47 -0300 Subject: [PATCH] cli: convert remainder of CLI to n_q_search_{messages,threads}_st 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 24fc2f23..829781f8 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 7c5c28f4..fd6a1ec1 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 36f58eb8..3c455bfe 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); @@ -426,6 +427,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); @@ -433,8 +435,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); @@ -522,8 +524,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 43560256..e0548089 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 7ae98f6c..c020cb6f 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.39.2