]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-compact.c
lib: use the compaction backup path provided by the caller
[notmuch] / notmuch-compact.c
index bfda40e3a7f3dcaf6a99855981dd37ded8e66bd5..55dc7316ccb810d7a90542f45adab60347e58c8b 100644 (file)
 
 #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,21 +32,25 @@ 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 ("The old database has been moved to %s", backup_path);
        printf ("\n");
        printf ("To delete run,\n");
        printf ("\n");
-       printf ("    rm -R %s/xapian.old\n", backup_path);
+       printf ("    rm -R %s\n", backup_path);
        printf ("\n");
     }