mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-23 01:44:52 +01:00
lib: Only synchronize maildir flags for messages in maildirs
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.
This commit is contained in:
parent
93ab4c7d11
commit
750231bae8
1 changed files with 5 additions and 1 deletions
|
@ -1074,7 +1074,7 @@ notmuch_message_maildir_flags_to_tags (notmuch_message_t *message)
|
||||||
const char *flags;
|
const char *flags;
|
||||||
notmuch_status_t status;
|
notmuch_status_t status;
|
||||||
notmuch_filenames_t *filenames;
|
notmuch_filenames_t *filenames;
|
||||||
const char *filename;
|
const char *filename, *dir;
|
||||||
char *combined_flags = talloc_strdup (message, "");
|
char *combined_flags = talloc_strdup (message, "");
|
||||||
unsigned i;
|
unsigned i;
|
||||||
int seen_maildir_info = 0;
|
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))
|
notmuch_filenames_move_to_next (filenames))
|
||||||
{
|
{
|
||||||
filename = notmuch_filenames_get (filenames);
|
filename = notmuch_filenames_get (filenames);
|
||||||
|
dir = _filename_is_in_maildir (filename);
|
||||||
|
|
||||||
|
if (! dir)
|
||||||
|
continue;
|
||||||
|
|
||||||
flags = strstr (filename, ":2,");
|
flags = strstr (filename, ":2,");
|
||||||
if (! flags)
|
if (! flags)
|
||||||
|
|
Loading…
Reference in a new issue