X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-reindex.c;h=5a39ade103de2f0fd6160639d2e56fa873784acd;hp=57ff59040153f934db5ee215fbee898924ffd78d;hb=HEAD;hpb=4a6721970a42a9f86149fb5d395d1001fed2d305 diff --git a/notmuch-reindex.c b/notmuch-reindex.c index 57ff5904..e9a65456 100644 --- a/notmuch-reindex.c +++ b/notmuch-reindex.c @@ -13,7 +13,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://www.gnu.org/licenses/ . + * along with this program. If not, see https://www.gnu.org/licenses/ . * * Author: Daniel Kahn Gillmor */ @@ -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_indexopts_t *indexopts = NULL; + 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)); @@ -99,6 +100,7 @@ notmuch_reindex_command (notmuch_config_t *config, int argc, char *argv[]) sigaction (SIGINT, &action, NULL); notmuch_opt_desc_t options[] = { + { .opt_inherit = notmuch_shared_indexing_options }, { .opt_inherit = notmuch_shared_options }, { } }; @@ -107,15 +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]); + notmuch_process_shared_options (notmuch, argv[0]); - if (notmuch_database_open (notmuch_config_get_database_path (config), - NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much)) + 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; + } - notmuch_exit_if_unmatched_db_uuid (notmuch); - - 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; @@ -125,7 +128,7 @@ 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, indexopts); notmuch_database_destroy (notmuch);