From: Timo Sirainen Date: Wed, 18 May 2016 14:56:55 +0000 (+0300) Subject: lib-fs: ostream-metawrap: Fixed o_stream_send_istream() offset updates X-Git-Tag: 2.3.0.rc1~3708 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fbae84cc7a76555ab38cf1b5b90682fa8deee2f3;p=thirdparty%2Fdovecot%2Fcore.git lib-fs: ostream-metawrap: Fixed o_stream_send_istream() offset updates --- diff --git a/src/lib-fs/ostream-metawrap.c b/src/lib-fs/ostream-metawrap.c index cd640a7ed7..08cd4caed3 100644 --- a/src/lib-fs/ostream-metawrap.c +++ b/src/lib-fs/ostream-metawrap.c @@ -1,6 +1,7 @@ /* Copyright (c) 2013-2016 Dovecot authors, see the included COPYING file */ #include "lib.h" +#include "istream.h" #include "ostream-private.h" #include "ostream-metawrap.h" @@ -43,14 +44,13 @@ o_stream_metawrap_send_istream(struct ostream_private *_outstream, { struct metawrap_ostream *outstream = (struct metawrap_ostream *)_outstream; - uoff_t orig_outstream_offset = _outstream->ostream.offset; + uoff_t orig_instream_offset = instream->v_offset; int ret; o_stream_metawrap_call_callback(outstream); if ((ret = o_stream_send_istream(_outstream->parent, instream)) < 0) o_stream_copy_error_from_parent(_outstream); - _outstream->ostream.offset += - _outstream->ostream.offset - orig_outstream_offset; + _outstream->ostream.offset += instream->v_offset - orig_instream_offset; return ret; }