X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fmessage.cc;h=b8128505bfb7c63176728bbe145b87113dd4c5a7;hp=39036ecca5516a4a7bc6f896f686a62d89d503c6;hb=404db1de90f6e5a66c34077b38b18a39c955ece2;hpb=38d82b07c4462d2b3e4bc1ad3d24586be348db1d diff --git a/lib/message.cc b/lib/message.cc index 39036ecc..b8128505 100644 --- a/lib/message.cc +++ b/lib/message.cc @@ -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;