X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=notmuch-compact.c;h=b9461c2fcae641922811173cef59574a65b0f95b;hb=d34be29a41bbe1d5bd2c81d7d791cd67ac4eb649;hp=bfda40e3a7f3dcaf6a99855981dd37ded8e66bd5;hpb=241a88ce2f3c8d76b5a63a202d8455757c0e751e;p=notmuch diff --git a/notmuch-compact.c b/notmuch-compact.c index bfda40e3..b9461c2f 100644 --- a/notmuch-compact.c +++ b/notmuch-compact.c @@ -20,10 +20,8 @@ #include "notmuch-client.h" -void status_update_cb (const char *msg); - -void -status_update_cb (const char *msg) +static void +status_update_cb (const char *msg, unused (void *closure)) { printf("%s\n", msg); } @@ -34,23 +32,28 @@ notmuch_compact_command (notmuch_config_t *config, unused (char *argv[])) { const char *path = notmuch_config_get_database_path (config); - const char *backup_path = path; + const char *backup_path; notmuch_status_t ret; + backup_path = talloc_asprintf (config, "%s/xapian.old", path); + if (! backup_path) + return 1; + printf ("Compacting database...\n"); - ret = notmuch_database_compact (path, backup_path, status_update_cb); + ret = notmuch_database_compact (path, backup_path, status_update_cb, NULL); if (ret) { fprintf (stderr, "Compaction failed: %s\n", notmuch_status_to_string(ret)); - } else { - printf ("\n"); - printf ("\n"); - printf ("The old database has been moved to %s/xapian.old", backup_path); - printf ("\n"); - printf ("To delete run,\n"); - printf ("\n"); - printf (" rm -R %s/xapian.old\n", backup_path); - printf ("\n"); + 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"); + return 0; }