From: Timo Sirainen Date: Thu, 20 Nov 2003 15:40:09 +0000 (+0200) Subject: message_skip_virtual() calculated returned msg_size wrong. This could have X-Git-Tag: 1.1.alpha1~4215 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b2eecc6583af5f91480b5f52cec7419a8fa364b;p=thirdparty%2Fdovecot%2Fcore.git message_skip_virtual() calculated returned msg_size wrong. This could have caused some problems with partial body fetches. --HG-- branch : HEAD --- diff --git a/src/lib-mail/message-send.c b/src/lib-mail/message-send.c index 294c966f4a..6a541a9b95 100644 --- a/src/lib-mail/message-send.c +++ b/src/lib-mail/message-send.c @@ -122,19 +122,15 @@ void message_skip_virtual(struct istream *input, uoff_t virtual_skip, } } + i_stream_skip(input, i); if (msg_size != NULL) { msg_size->physical_size += i; msg_size->virtual_size += i; } - if (i < size) { - i_stream_skip(input, i); + if (i < size) break; - } - /* leave the last character, it may be \r */ - i_stream_skip(input, i - 1); - startpos = 1; - cr_skipped = FALSE; + cr_skipped = msg[i-1] == '\r'; } }