summaryrefslogtreecommitdiffstats
path: root/imap
diff options
context:
space:
mode:
authorThomas Roessler <roessler@does-not-exist.org>1999-10-31 17:10:01 +0000
committerThomas Roessler <roessler@does-not-exist.org>1999-10-31 17:10:01 +0000
commit0cc41dfffdfd1b74cc2004aec6bf11c4573203f7 (patch)
tree2806d065f427d759d279fe619bef845a51495d6c /imap
parentb8887eab4a18932fb49039ebb6224976d15cfa94 (diff)
From Brendan Cully: IMAP updates should work properly again.
Diffstat (limited to 'imap')
-rw-r--r--imap/BUGS7
-rw-r--r--imap/message.c11
2 files changed, 8 insertions, 10 deletions
diff --git a/imap/BUGS b/imap/BUGS
index 40595b3b..2403df52 100644
--- a/imap/BUGS
+++ b/imap/BUGS
@@ -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.