X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-compact.c;h=f8996cf46039ea05cb2959ed2d153fc374d5f0eb;hp=8b820c0d12389eea75198aa70d65dbd3efc8be49;hb=HEAD;hpb=4d5986e8ad671c1f5504894af6fbe37ba314bed8 diff --git a/notmuch-compact.c b/notmuch-compact.c index 8b820c0d..40ffb428 100644 --- a/notmuch-compact.c +++ b/notmuch-compact.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: Ben Gamari */ @@ -27,30 +27,33 @@ status_update_cb (const char *msg, unused (void *closure)) } int -notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[]) +notmuch_compact_command (notmuch_database_t *notmuch, int argc, char *argv[]) { - const char *path = notmuch_config_get_database_path (config); const char *backup_path = NULL; notmuch_status_t ret; - notmuch_bool_t quiet; + bool quiet = false; int opt_index; notmuch_opt_desc_t options[] = { - { NOTMUCH_OPT_STRING, &backup_path, "backup", 0, 0 }, - { NOTMUCH_OPT_BOOLEAN, &quiet, "quiet", 'q', 0 }, + { .opt_string = &backup_path, .name = "backup" }, + { .opt_bool = &quiet, .name = "quiet" }, + { .opt_inherit = notmuch_shared_options }, + { } }; opt_index = parse_arguments (argc, argv, options, 1); if (opt_index < 0) - return 1; + return EXIT_FAILURE; + + notmuch_process_shared_options (NULL, argv[0]); if (! quiet) printf ("Compacting database...\n"); - ret = notmuch_database_compact (path, backup_path, - quiet ? NULL : status_update_cb, NULL); + ret = notmuch_database_compact_db (notmuch, backup_path, + quiet ? NULL : status_update_cb, NULL); if (ret) { fprintf (stderr, "Compaction failed: %s\n", notmuch_status_to_string (ret)); - return 1; + return EXIT_FAILURE; } if (! quiet) { @@ -60,5 +63,5 @@ notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[]) printf ("Done.\n"); } - return 0; + return EXIT_SUCCESS; }