[dovecot-cvs] dovecot/src/lib ostream-crlf.c,1.1,1.2

cras at dovecot.org cras at dovecot.org
Sun Aug 22 08:46:52 EEST 2004


Update of /home/cvs/dovecot/src/lib
In directory talvi:/tmp/cvs-serv31010/lib

Modified Files:
	ostream-crlf.c 
Log Message:
Keep track of offset.



Index: ostream-crlf.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib/ostream-crlf.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ostream-crlf.c	22 Aug 2004 05:04:16 -0000	1.1
+++ ostream-crlf.c	22 Aug 2004 05:46:50 -0000	1.2
@@ -63,9 +63,12 @@
 static int _seek(struct _ostream *stream, uoff_t offset)
 {
 	struct crlf_ostream *cstream = (struct crlf_ostream *)stream;
+	int ret;
 
 	cstream->last_cr = FALSE;
-	return o_stream_seek(cstream->output, offset);
+	ret = o_stream_seek(cstream->output, offset);
+	stream->ostream.offset = cstream->output->offset;
+	return ret;
 }
 
 static ssize_t sendv_crlf(struct crlf_ostream *cstream,
@@ -84,6 +87,7 @@
 
 		cstream->last_cr = *((const char *)iov->iov_base + pos) == '\r';
 	}
+	cstream->ostream.ostream.offset = cstream->output->offset;
 	return ret;
 }
 
@@ -204,6 +208,8 @@
 			if (new_iov_count == IOVBUF_COUNT) {
 				ret = o_stream_sendv(cstream->output,
 						     buf->data, new_iov_count);
+				stream->ostream.offset =
+					cstream->output->offset;
 				if (ret != (ssize_t)new_iov_size) {
 					t_pop();
 					return ret;
@@ -220,6 +226,8 @@
 	}
 
 	ret = o_stream_sendv(cstream->output, buf->data, new_iov_count);
+	stream->ostream.offset = cstream->output->offset;
+
 	t_pop();
 	return ret;
 }



More information about the dovecot-cvs mailing list