X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-reply.c;h=1357142903d5771566678a132f15c6537e4e7714;hp=d51fdfc360dd58edc1e5358433663273188aa8a9;hb=391d9f94204234d6ef3dd701d69bfdf92dbad8f0;hpb=c883e632bf0a3692fa4ca7aa77604e0e60820295 diff --git a/notmuch-reply.c b/notmuch-reply.c index d51fdfc3..13571429 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,22 @@ notmuch_reply_format_sprinter(void *ctx, notmuch_messages_t *messages; notmuch_message_t *message; mime_node_t *node; + unsigned count; + notmuch_status_t status; - if (notmuch_query_count_messages (query) != 1) { + status = notmuch_query_count_messages_st (query, &count); + if (print_status_query ("notmuch reply", query, status)) + return 1; + + if (count != 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 +712,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)) { @@ -790,6 +809,7 @@ notmuch_reply_command (notmuch_config_t *config, int argc, char *argv[]) { "sender", FALSE }, { 0, 0 } } }, { NOTMUCH_OPT_BOOLEAN, ¶ms.crypto.decrypt, "decrypt", 'd', 0 }, + { NOTMUCH_OPT_INHERIT, (void *) ¬much_shared_options, NULL, 0, 0 }, { 0, 0, 0, 0, 0 } }; @@ -797,6 +817,8 @@ notmuch_reply_command (notmuch_config_t *config, int argc, char *argv[]) if (opt_index < 0) return EXIT_FAILURE; + notmuch_process_shared_options (argv[0]); + if (format == FORMAT_HEADERS_ONLY) { reply_format_func = notmuch_reply_format_headers_only; } else if (format == FORMAT_JSON) { @@ -828,6 +850,8 @@ notmuch_reply_command (notmuch_config_t *config, int argc, char *argv[]) NOTMUCH_DATABASE_MODE_READ_ONLY, ¬much)) return EXIT_FAILURE; + notmuch_exit_if_unmatched_db_uuid (notmuch); + query = notmuch_query_create (notmuch, query_string); if (query == NULL) { fprintf (stderr, "Out of memory\n");