Mercurial > dovecot > original-hg > dovecot-1.2
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;