[PATCH v2 3/5] lib: Only synchronize maildir flags for messages in maildirs
Austin Clements
amdragon at MIT.EDU
Sat Jun 9 12:14:16 PDT 2012
Previously, we synchronized flags to tags for any message that looked
like it had maildir flags in its file name, regardless of whether it
was in a maildir-like directory structure. This was asymmetric with
tag-to-flag synchronization, which only applied to messages in
directories named new/ and cur/ (introduced by 95dd5fe5).
This change makes our interpretation stricter and addresses this
asymmetry by only synchronizing flags to tags for messages in
directories named new/ or cur/. It also prepares us to treat messages
in new/ as maildir messages, even though they lack maildir flags.
---
lib/message.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/message.cc b/lib/message.cc
index ed96477..bbac2ff 100644
--- a/lib/message.cc
+++ b/lib/message.cc
@@ -1074,7 +1074,7 @@ notmuch_message_maildir_flags_to_tags (notmuch_message_t *message)
const char *flags;
notmuch_status_t status;
notmuch_filenames_t *filenames;
- const char *filename;
+ const char *filename, *dir;
char *combined_flags = talloc_strdup (message, "");
unsigned i;
int seen_maildir_info = 0;
@@ -1084,6 +1084,10 @@ notmuch_message_maildir_flags_to_tags (notmuch_message_t *message)
notmuch_filenames_move_to_next (filenames))
{
filename = notmuch_filenames_get (filenames);
+ dir = _filename_is_in_maildir (filename);
+
+ if (! dir)
+ continue;
flags = strstr (filename, ":2,");
if (! flags)
--
1.7.10
More information about the notmuch
mailing list