* 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 <dkg@fifthhorseman.net>
*/
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);
}
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;
/* Set up our handler for SIGINT */
memset (&action, 0, sizeof (struct sigaction));
sigaction (SIGINT, &action, NULL);
notmuch_opt_desc_t options[] = {
+ { .opt_inherit = notmuch_shared_indexing_options },
{ .opt_inherit = notmuch_shared_options },
{ }
};
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_exit_if_unmatched_db_uuid (notmuch);
- query_string = query_string_from_args (config, argc-opt_index, argv+opt_index);
+ status = notmuch_process_shared_indexing_options (notmuch);
+ 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 (notmuch, argc - opt_index, argv + opt_index);
if (query_string == NULL) {
fprintf (stderr, "Out of memory\n");
return EXIT_FAILURE;
fprintf (stderr, "Error: notmuch reindex requires at least one search term.\n");
return EXIT_FAILURE;
}
-
- ret = reindex_query (notmuch, query_string, indexopts);
+
+ ret = reindex_query (notmuch, query_string, indexing_cli_choices.opts);
notmuch_database_destroy (notmuch);