changeset 3067:4c92f9eae613 HEAD

mail->expunged field wasn't actually set. Now it's always set if wanted_fields contains message header or body.
author Timo Sirainen <tss@iki.fi>
date Fri, 07 Jan 2005 23:45:40 +0200
parents 34c1cf646467
children b01a8fa09f94
files src/lib-storage/index/index-mail.c src/lib-storage/index/index-mail.h src/lib-storage/index/maildir/maildir-mail.c src/lib-storage/index/mbox/mbox-mail.c
diffstat 4 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/index-mail.c	Fri Jan 07 22:01:08 2005 +0200
+++ b/src/lib-storage/index/index-mail.c	Fri Jan 07 23:45:40 2005 +0200
@@ -718,8 +718,11 @@
 		data->save_bodystructure_header = TRUE;
 		data->save_bodystructure_body = TRUE;
 	} else if (mail->wanted_fields & (MAIL_FETCH_STREAM_HEADER |
-					  MAIL_FETCH_STREAM_BODY))
+					  MAIL_FETCH_STREAM_BODY)) {
 		data->open_mail = TRUE;
+		/* open stream to set expunged flag */
+		(void)mail->mail.get_stream(&mail->mail, NULL, NULL);
+	}
 
 	if ((mail->wanted_fields & MAIL_FETCH_DATE) &&
 	    data->sent_date.time == (time_t)-1)
--- a/src/lib-storage/index/index-mail.h	Fri Jan 07 22:01:08 2005 +0200
+++ b/src/lib-storage/index/index-mail.h	Fri Jan 07 23:45:40 2005 +0200
@@ -84,7 +84,6 @@
 	unsigned int hdr_size_set:1;
 	unsigned int body_size_set:1;
 	unsigned int open_mail:1;
-	unsigned int deleted:1;
 };
 
 struct index_mail {
--- a/src/lib-storage/index/maildir/maildir-mail.c	Fri Jan 07 22:01:08 2005 +0200
+++ b/src/lib-storage/index/maildir/maildir-mail.c	Fri Jan 07 23:45:40 2005 +0200
@@ -220,7 +220,7 @@
 		data->stream = maildir_open_mail(mail->ibox, mail->mail.uid,
 						 &deleted);
 		if (data->stream == NULL) {
-			data->deleted = deleted;
+			_mail->expunged = deleted;
 			return NULL;
 		}
 	}
--- a/src/lib-storage/index/mbox/mbox-mail.c	Fri Jan 07 22:01:08 2005 +0200
+++ b/src/lib-storage/index/mbox/mbox-mail.c	Fri Jan 07 23:45:40 2005 +0200
@@ -22,7 +22,7 @@
 	enum mbox_sync_flags sync_flags = 0;
 	int ret, deleted;
 
-	if (mail->data.deleted)
+	if (mail->mail.expunged)
 		return 0;
 
 __again:
@@ -49,7 +49,7 @@
 			     &deleted);
 	if (ret < 0) {
 		if (deleted) {
-			mail->data.deleted = TRUE;
+			mail->mail.expunged = TRUE;
 			return 0;
 		}
 		return -1;