test: copy files in test_expect_equal_file instead of moving them
[notmuch] / notmuch-restore.c
index 53ce2548dc71ddf9755f497aa9a184542ade66ec..f095f64a76b7054dbda62b1fd8f9f4efa975117b 100644 (file)
@@ -25,6 +25,7 @@ notmuch_restore_command (unused (void *ctx), int argc, char *argv[])
 {
     notmuch_config_t *config;
     notmuch_database_t *notmuch;
+    notmuch_bool_t synchronize_flags;
     FILE *input;
     char *line = NULL;
     size_t line_size;
@@ -41,6 +42,8 @@ notmuch_restore_command (unused (void *ctx), int argc, char *argv[])
     if (notmuch == NULL)
        return 1;
 
+    synchronize_flags = notmuch_config_get_maildir_synchronize_flags (config);
+
     if (argc) {
        input = fopen (argv[0], "r");
        if (input == NULL) {
@@ -93,8 +96,8 @@ notmuch_restore_command (unused (void *ctx), int argc, char *argv[])
 
        db_tags_str = NULL;
        for (db_tags = notmuch_message_get_tags (message);
-            notmuch_tags_has_more (db_tags);
-            notmuch_tags_advance (db_tags))
+            notmuch_tags_valid (db_tags);
+            notmuch_tags_move_to_next (db_tags))
        {
            const char *tag = notmuch_tags_get (db_tags);
 
@@ -131,6 +134,9 @@ notmuch_restore_command (unused (void *ctx), int argc, char *argv[])
 
        notmuch_message_thaw (message);
 
+       if (synchronize_flags)
+           notmuch_message_tags_to_maildir_flags (message);
+
       NEXT_LINE:
        if (message)
            notmuch_message_destroy (message);