diff options
author | Thomas Roessler <roessler@does-not-exist.org> | 1999-10-31 17:10:01 +0000 |
---|---|---|
committer | Thomas Roessler <roessler@does-not-exist.org> | 1999-10-31 17:10:01 +0000 |
commit | 0cc41dfffdfd1b74cc2004aec6bf11c4573203f7 (patch) | |
tree | 2806d065f427d759d279fe619bef845a51495d6c /imap | |
parent | b8887eab4a18932fb49039ebb6224976d15cfa94 (diff) |
From Brendan Cully: IMAP updates should work properly again.
Diffstat (limited to 'imap')
-rw-r--r-- | imap/BUGS | 7 | ||||
-rw-r--r-- | imap/message.c | 11 |
2 files changed, 8 insertions, 10 deletions
@@ -1,10 +1,5 @@ In no particular order: -19991028: The code to refetch message flags while fetching messages so they - don't have to be stored on close seems to have been broken. I am suspicious - of the changes to use mutt_flag_set globally instead of tuning them - manually... - * Mutt doesn't handle timeouts or dropped connections gracefully. You may see occasional segfaults. Solving this cleanly requires some major architectural updates. Until that happens, I recommend you keep @@ -48,4 +43,4 @@ In no particular order: * The mutt_pretty routines don't work well when the delimiter isn't '/'. Brendan Cully <brendan@kublai.com> -Updated 19991028 +Updated 19991030 diff --git a/imap/message.c b/imap/message.c index 870df194..e37bfb4a 100644 --- a/imap/message.c +++ b/imap/message.c @@ -345,6 +345,10 @@ int imap_fetch_message (MESSAGE *msg, CONTEXT *ctx, int msgno) mutt_set_flag (ctx, h, M_FLAG, h->flagged || newh->flagged); mutt_set_flag (ctx, h, M_REPLIED, h->replied || newh->replied); + /* this message is now definitively *not* changed (mutt_set_flag + * marks things changed as a side-effect) */ + h->changed = 0; + mutt_free_list (&(HEADER_DATA(h)->keywords)); HEADER_DATA(h)->keywords = newh->data->keywords; safe_free ((void**) &newh); @@ -352,14 +356,13 @@ int imap_fetch_message (MESSAGE *msg, CONTEXT *ctx, int msgno) } } else if (imap_handle_untagged (CTX_DATA, buf) != 0) - return (-1); + return -1; } } - while (mutt_strncmp (buf, seq, SEQLEN) != 0) - ; + while (mutt_strncmp (buf, seq, SEQLEN) != 0); if (!imap_code (buf)) - return (-1); + return -1; /* Update the header information. Previously, we only downloaded a * portion of the headers, those required for the main display. |