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.
This commit is contained in:
David Bremner 2015-09-06 10:15:47 -03:00
parent dca72205ab
commit 6cdd34a4c7
5 changed files with 46 additions and 14 deletions

View file

@ -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;

View file

@ -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;
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))
{

View file

@ -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);

View file

@ -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);

View file

@ -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);