]> git.notmuchmail.org Git - notmuch/blobdiff - lib/message.cc
maildir_flags_to_tags: Avoid interpreting "no info" as "no flags set".
[notmuch] / lib / message.cc
index 39036ecca5516a4a7bc6f896f686a62d89d503c6..b8128505bfb7c63176728bbe145b87113dd4c5a7 100644 (file)
@@ -868,6 +868,7 @@ notmuch_message_maildir_flags_to_tags (notmuch_message_t *message)
     const char *filename;
     char *combined_flags = talloc_strdup (message, "");
     unsigned i;
+    int seen_maildir_info = 0;
 
     for (filenames = notmuch_message_get_filenames (message);
         notmuch_filenames_valid (filenames);
@@ -879,11 +880,18 @@ notmuch_message_maildir_flags_to_tags (notmuch_message_t *message)
        if (! flags)
            continue;
 
+       seen_maildir_info = 1;
        flags += 3;
 
        combined_flags = talloc_strdup_append (combined_flags, flags);
     }
 
+    /* If none of the filenames have any maildir info field (not even
+     * an empty info with no flags set) then there's no information to
+     * go on, so do nothing. */
+    if (! seen_maildir_info)
+       return NOTMUCH_STATUS_SUCCESS;
+
     status = notmuch_message_freeze (message);
     if (status)
        return status;