changeset 8885:5e513d6612e0 HEAD

istream: Added one more assert to make sure return value is correct.
author Timo Sirainen <tss@iki.fi>
date Wed, 01 Apr 2009 15:58:56 -0400
parents ec8e679294d0
children 11d2f0fffb61
files src/lib/istream.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/istream.c	Wed Apr 01 15:39:20 2009 -0400
+++ b/src/lib/istream.c	Wed Apr 01 15:58:56 2009 -0400
@@ -67,6 +67,7 @@
 ssize_t i_stream_read(struct istream *stream)
 {
 	struct istream_private *_stream = stream->real_stream;
+	size_t old_size;
 	ssize_t ret;
 
 	if (unlikely(stream->closed))
@@ -75,6 +76,7 @@
 	stream->eof = FALSE;
 	stream->stream_errno = 0;
 
+	old_size = _stream->pos - _stream->skip;
 	ret = _stream->read(_stream);
 	switch (ret) {
 	case -2:
@@ -94,7 +96,7 @@
 		break;
 	default:
 		i_assert(ret > 0);
-		i_assert((size_t)ret <= _stream->pos - _stream->skip);
+		i_assert((size_t)ret+old_size == _stream->pos - _stream->skip);
 		break;
 	}
 	return ret;