Mercurial > dovecot > original-hg > dovecot-1.0
changeset 5490:2f4242afee68 branch_1_0
mbox fix for RFC822.TEXT also.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 11 Dec 2007 20:58:11 +0200 |
parents | c19fab2d24f7 |
children | c8bd340d90ca |
files | src/imap/imap-fetch-body.c |
diffstat | 1 files changed, 7 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap/imap-fetch-body.c Tue Dec 11 20:47:30 2007 +0200 +++ b/src/imap/imap-fetch-body.c Tue Dec 11 20:58:11 2007 +0200 @@ -883,24 +883,22 @@ static int fetch_rfc822(struct imap_fetch_context *ctx, struct mail *mail, void *context __attr_unused__) { - struct message_size size; + struct message_size hdr_size, body_size; const char *str; - ctx->cur_input = mail_get_stream(mail, NULL, NULL); + ctx->cur_input = mail_get_stream(mail, &hdr_size, &body_size); if (ctx->cur_input == NULL) return -1; - size.virtual_size = mail_get_virtual_size(mail); - size.physical_size = mail_get_physical_size(mail); - if (size.virtual_size == (uoff_t)-1 || size.physical_size == (uoff_t)-1) - return -1; + /* FIXME: Same problem as with fetch_body() */ + message_size_add(&body_size, &hdr_size); i_stream_ref(ctx->cur_input); ctx->update_partial = FALSE; if (ctx->cur_offset == 0) { str = t_strdup_printf(" RFC822 {%"PRIuUOFF_T"}\r\n", - size.virtual_size); + body_size.virtual_size); if (ctx->first) { str++; ctx->first = FALSE; } @@ -908,8 +906,8 @@ return -1; } - ctx->cur_size = size.virtual_size; - return fetch_stream(ctx, &size); + ctx->cur_size = body_size.virtual_size; + return fetch_stream(ctx, &body_size); } static int fetch_rfc822_header(struct imap_fetch_context *ctx,