From: Timo Sirainen Date: Tue, 1 Jun 2010 15:01:21 +0000 (+0100) Subject: header filter istream: Avoid seeking backwards when caller just wants to reset the... X-Git-Tag: 2.0.beta6~90 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9a1a2583687a5bd9d47bdfd435c78b46ca5d5af6;p=thirdparty%2Fdovecot%2Fcore.git header filter istream: Avoid seeking backwards when caller just wants to reset the stream buffers. --HG-- branch : HEAD --- diff --git a/src/lib-mail/istream-header-filter.c b/src/lib-mail/istream-header-filter.c index 4b1e19c9db..477302cdbd 100644 --- a/src/lib-mail/istream-header-filter.c +++ b/src/lib-mail/istream-header-filter.c @@ -353,6 +353,14 @@ static void i_stream_header_filter_seek(struct istream_private *stream, struct header_filter_istream *mstream = (struct header_filter_istream *)stream; + if (stream->istream.v_offset == v_offset) { + /* just reset the input buffer */ + stream_reset_to(mstream, v_offset); + i_stream_seek(mstream->istream.parent, + mstream->istream.parent_expected_offset); + return; + } + if (v_offset == 0) { /* seeking to beginning of headers. */ stream_reset_to(mstream, 0);