X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-tag.c;h=0d1532826a2e81999ba833d4b18fa800fc060d81;hp=2c6e442aa93903f29b3792b73e0f24afab612677;hb=cb494f72f398bb0898030a1225f9ef6da557e959;hpb=d08af93c65310c2d5ec8033040854f8ff4e5550f diff --git a/notmuch-tag.c b/notmuch-tag.c index 2c6e442a..0d153282 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); @@ -206,6 +212,7 @@ notmuch_tag_command (notmuch_config_t *config, int argc, char *argv[]) { NOTMUCH_OPT_BOOLEAN, &batch, "batch", 0, 0 }, { NOTMUCH_OPT_STRING, &input_file_name, "input", 'i', 0 }, { NOTMUCH_OPT_BOOLEAN, &remove_all, "remove-all", 0, 0 }, + { NOTMUCH_OPT_INHERIT, (void *) ¬much_shared_options, NULL, 0, 0 }, { 0, 0, 0, 0, 0 } }; @@ -213,6 +220,8 @@ notmuch_tag_command (notmuch_config_t *config, int argc, char *argv[]) if (opt_index < 0) return EXIT_FAILURE; + notmuch_process_shared_options (argv[0]); + if (input_file_name) { batch = TRUE; input = fopen (input_file_name, "r"); @@ -228,10 +237,6 @@ notmuch_tag_command (notmuch_config_t *config, int argc, char *argv[]) fprintf (stderr, "Can't specify both cmdline and stdin!\n"); return EXIT_FAILURE; } - if (remove_all) { - fprintf (stderr, "Can't specify both --remove-all and --batch\n"); - return EXIT_FAILURE; - } } else { tag_ops = tag_op_list_create (config); if (tag_ops == NULL) { @@ -258,6 +263,8 @@ notmuch_tag_command (notmuch_config_t *config, int argc, char *argv[]) NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much)) return EXIT_FAILURE; + notmuch_exit_if_unmatched_db_uuid (notmuch); + if (notmuch_config_get_maildir_synchronize_flags (config)) tag_flags |= TAG_FLAG_MAILDIR_SYNC;