X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-reindex.c;h=5a39ade103de2f0fd6160639d2e56fa873784acd;hp=d8589120cae94ed4fa4efa1c3cfdda9520d5697d;hb=HEAD;hpb=2f4beda434c59f9e2f5b7c32d26543bad7217ad4 diff --git a/notmuch-reindex.c b/notmuch-reindex.c index d8589120..e9a65456 100644 --- a/notmuch-reindex.c +++ b/notmuch-reindex.c @@ -26,7 +26,7 @@ static volatile sig_atomic_t interrupted; static void handle_sigint (unused (int sig)) { - static char msg[] = "Stopping... \n"; + static const char msg[] = "Stopping... \n"; /* This write is "opportunistic", so it's okay to ignore the * result. It is not required for correctness, and if it does @@ -49,11 +49,11 @@ reindex_query (notmuch_database_t *notmuch, const char *query_string, notmuch_status_t ret = NOTMUCH_STATUS_SUCCESS; - query = notmuch_query_create (notmuch, query_string); - if (query == NULL) { - fprintf (stderr, "Out of memory.\n"); + status = notmuch_query_create_with_syntax (notmuch, query_string, + shared_option_query_syntax (), + &query); + if (print_status_database ("notmuch reindex", notmuch, status)) return 1; - } /* reindexing is not interested in any special sort order */ notmuch_query_set_sort (query, NOTMUCH_SORT_UNSORTED); @@ -68,12 +68,13 @@ reindex_query (notmuch_database_t *notmuch, const char *query_string, notmuch_messages_move_to_next (messages)) { message = notmuch_messages_get (messages); - ret = notmuch_message_reindex(message, indexopts); + ret = notmuch_message_reindex (message, indexopts); if (ret != NOTMUCH_STATUS_SUCCESS) break; + notmuch_message_destroy (message); } - if (!ret) + if (! ret) ret = notmuch_database_end_atomic (notmuch); notmuch_query_destroy (query); @@ -82,14 +83,14 @@ reindex_query (notmuch_database_t *notmuch, const char *query_string, } int -notmuch_reindex_command (notmuch_config_t *config, int argc, char *argv[]) +notmuch_reindex_command (notmuch_database_t *notmuch, int argc, char *argv[]) { char *query_string = NULL; - notmuch_database_t *notmuch; struct sigaction action; int opt_index; int ret; notmuch_status_t status; + notmuch_indexopts_t *indexopts = notmuch_database_get_default_indexopts (notmuch); /* Set up our handler for SIGINT */ memset (&action, 0, sizeof (struct sigaction)); @@ -108,22 +109,16 @@ notmuch_reindex_command (notmuch_config_t *config, int argc, char *argv[]) if (opt_index < 0) return EXIT_FAILURE; - notmuch_process_shared_options (argv[0]); - - if (notmuch_database_open (notmuch_config_get_database_path (config), - NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much)) - return EXIT_FAILURE; + notmuch_process_shared_options (notmuch, argv[0]); - notmuch_exit_if_unmatched_db_uuid (notmuch); - - status = notmuch_process_shared_indexing_options (notmuch, config); + status = notmuch_process_shared_indexing_options (indexopts); if (status != NOTMUCH_STATUS_SUCCESS) { fprintf (stderr, "Error: Failed to process index options. (%s)\n", notmuch_status_to_string (status)); return EXIT_FAILURE; } - query_string = query_string_from_args (config, argc-opt_index, argv+opt_index); + query_string = query_string_from_args (notmuch, argc - opt_index, argv + opt_index); if (query_string == NULL) { fprintf (stderr, "Out of memory\n"); return EXIT_FAILURE; @@ -133,8 +128,8 @@ notmuch_reindex_command (notmuch_config_t *config, int argc, char *argv[]) fprintf (stderr, "Error: notmuch reindex requires at least one search term.\n"); return EXIT_FAILURE; } - - ret = reindex_query (notmuch, query_string, indexing_cli_choices.opts); + + ret = reindex_query (notmuch, query_string, indexopts); notmuch_database_destroy (notmuch);