From 9a1a2583687a5bd9d47bdfd435c78b46ca5d5af6 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 1 Jun 2010 16:01:21 +0100 Subject: [PATCH] header filter istream: Avoid seeking backwards when caller just wants to reset the stream buffers. --HG-- branch : HEAD --- src/lib-mail/istream-header-filter.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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); -- 2.47.3