]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-compact.c
test: Test upgrade to ghost messages feature
[notmuch] / notmuch-compact.c
index 359acfcc796625fe1371a18affc0ac6d5929d08f..2fc012a982d7f3b879fc6fe795d01b194b240c31 100644 (file)
@@ -23,7 +23,7 @@
 static void
 status_update_cb (const char *msg, unused (void *closure))
 {
-    printf("%s\n", msg);
+    printf ("%s\n", msg);
 }
 
 int
@@ -32,27 +32,33 @@ notmuch_compact_command (notmuch_config_t *config, 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 = 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_index = parse_arguments (argc, argv, options, 1);
     if (opt_index < 0)
-       return 1;
+       return EXIT_FAILURE;
 
-    printf ("Compacting database...\n");
-    ret = notmuch_database_compact (path, backup_path, status_update_cb, NULL);
+    if (! quiet)
+       printf ("Compacting database...\n");
+    ret = notmuch_database_compact (path, backup_path,
+                                   quiet ? NULL : status_update_cb, NULL);
     if (ret) {
-       fprintf (stderr, "Compaction failed: %s\n", notmuch_status_to_string(ret));
-       return 1;
+       fprintf (stderr, "Compaction failed: %s\n", notmuch_status_to_string (ret));
+       return EXIT_FAILURE;
     }
 
-    if (backup_path)
-       printf ("The old database has been moved to %s.\n", backup_path);
+    if (! quiet) {
+       if (backup_path)
+           printf ("The old database has been moved to %s.\n", backup_path);
 
-    printf ("Done.\n");
+       printf ("Done.\n");
+    }
 
-    return 0;
+    return EXIT_SUCCESS;
 }