]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
istream-tee: Added some more asserts.
authorTimo Sirainen <tss@iki.fi>
Wed, 1 Apr 2009 20:09:58 +0000 (16:09 -0400)
committerTimo Sirainen <tss@iki.fi>
Wed, 1 Apr 2009 20:09:58 +0000 (16:09 -0400)
--HG--
branch : HEAD

src/lib/istream-tee.c

index 1a4090550b47f0d8933cbbf2026cc8c71e54d69a..40871cb1e1abbd57aa4ba6201b3895fbea9754b3 100644 (file)
@@ -123,9 +123,9 @@ static ssize_t i_stream_tee_read(struct istream_private *stream)
           the parent stream without having to read more. */
        last_high_offset = stream->istream.v_offset +
                (stream->pos - stream->skip);
-       i_assert(last_high_offset <= input->v_offset + size);
-       if (last_high_offset == input->v_offset + size) {
+       if (stream->pos == size) {
                /* we've read everything, need to read more */
+               i_assert(last_high_offset == input->v_offset + size);
                tee_streams_skip(tstream->tee);
                ret = i_stream_read(input);
                if (ret <= 0) {
@@ -143,6 +143,7 @@ static ssize_t i_stream_tee_read(struct istream_private *stream)
                data = i_stream_get_data(input, &size);
        } else {
                /* there's still some data available from parent */
+               i_assert(last_high_offset < input->v_offset + size);
                i_assert(stream->pos < size);
                stream->buffer = data;
        }