It's the user's decision. The recommended way is to do a database dump anyway. Clean up the relevant printfs too. --- notmuch-compact.c | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 deletions(-) diff --git a/notmuch-compact.c b/notmuch-compact.c index 2afa725..ecac86a 100644 --- a/notmuch-compact.c +++ b/notmuch-compact.c @@ -27,13 +27,20 @@ status_update_cb (const char *msg, unused (void *closure)) } int -notmuch_compact_command (notmuch_config_t *config, - unused (int argc), - unused (char *argv[])) +notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[]) { const char *path = notmuch_config_get_database_path (config); - const char *backup_path = path; + const char *backup_path = NULL; notmuch_status_t ret; + int opt_index; + + notmuch_opt_desc_t options[] = { + { NOTMUCH_OPT_STRING, &backup_path, "backup", 0, 0 }, + }; + + opt_index = parse_arguments (argc, argv, options, 1); + if (opt_index < 0) + return 1; printf ("Compacting database...\n"); ret = notmuch_database_compact (path, backup_path, status_update_cb, NULL); @@ -42,14 +49,10 @@ notmuch_compact_command (notmuch_config_t *config, return 1; } - printf ("\n"); - printf ("\n"); - printf ("The old database has been moved to %s", backup_path); - printf ("\n"); - printf ("To delete run,\n"); - printf ("\n"); - printf (" rm -R %s\n", backup_path); - printf ("\n"); + printf ("Done.\n"); + + if (backup_path) + printf ("The old database has been moved to %s.\n", backup_path); return 0; } -- 1.7.2.5