dovecot-2.2: istream-seekable: Reverted unnecessary/broken chang...

dovecot at dovecot.org dovecot at dovecot.org
Sat Aug 11 05:29:13 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/ae5ad2935674
changeset: 14858:ae5ad2935674
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Aug 11 05:29:05 2012 +0300
description:
istream-seekable: Reverted unnecessary/broken changes from the previous patch.

diffstat:

 src/lib/istream-seekable.c |  7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diffs (31 lines):

diff -r 624107158354 -r ae5ad2935674 src/lib/istream-seekable.c
--- a/src/lib/istream-seekable.c	Sat Aug 11 05:19:58 2012 +0300
+++ b/src/lib/istream-seekable.c	Sat Aug 11 05:29:05 2012 +0300
@@ -165,6 +165,8 @@
 	const unsigned char *data;
 	size_t size, pos, offset;
 
+	i_assert(stream->skip == 0);
+
 	if (stream->istream.v_offset + stream->pos >= sstream->membuf->used) {
 		/* need to read more */
 		if (sstream->membuf->used >= stream->max_buffer_size)
@@ -193,7 +195,6 @@
 	*ret_r = pos - stream->pos;
 	i_assert(*ret_r > 0);
 	stream->pos = pos;
-	stream->skip = 0;
 	return TRUE;
 }
 
@@ -228,6 +229,10 @@
 	size_t size, pos;
 	ssize_t ret;
 
+	stream->buffer = CONST_PTR_OFFSET(stream->buffer, stream->skip);
+	stream->pos -= stream->skip;
+	stream->skip = 0;
+
 	if (sstream->membuf != NULL) {
 		if (read_from_buffer(sstream, &ret))
 			return ret;


More information about the dovecot-cvs mailing list