dovecot-2.2: Added i_stream_create_range()

dovecot at dovecot.org dovecot at dovecot.org
Wed Aug 22 10:18:58 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/34e4c04ae679
changeset: 14943:34e4c04ae679
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Aug 22 10:18:08 2012 +0300
description:
Added i_stream_create_range()

diffstat:

 src/lib/istream-limit.c |  12 ++++++++++++
 src/lib/istream.h       |   2 ++
 2 files changed, 14 insertions(+), 0 deletions(-)

diffs (31 lines):

diff -r eea4d286185a -r 34e4c04ae679 src/lib/istream-limit.c
--- a/src/lib/istream-limit.c	Tue Aug 21 10:18:38 2012 +0300
+++ b/src/lib/istream-limit.c	Wed Aug 22 10:18:08 2012 +0300
@@ -127,3 +127,15 @@
 	return i_stream_create(&lstream->istream, input,
 			       i_stream_get_fd(input));
 }
+
+struct istream *i_stream_create_range(struct istream *input,
+				      uoff_t v_offset, uoff_t v_size)
+{
+	uoff_t orig_offset = input->v_offset;
+	struct istream *ret;
+
+	input->v_offset = v_offset;
+	ret = i_stream_create_limit(input, v_size);
+	input->v_offset = orig_offset;
+	return ret;
+}
diff -r eea4d286185a -r 34e4c04ae679 src/lib/istream.h
--- a/src/lib/istream.h	Tue Aug 21 10:18:38 2012 +0300
+++ b/src/lib/istream.h	Wed Aug 22 10:18:08 2012 +0300
@@ -32,6 +32,8 @@
 				     bool autoclose_fd);
 struct istream *i_stream_create_from_data(const void *data, size_t size);
 struct istream *i_stream_create_limit(struct istream *input, uoff_t v_size);
+struct istream *i_stream_create_range(struct istream *input,
+				      uoff_t v_offset, uoff_t v_size);
 
 /* Set name (e.g. path) for input stream. */
 void i_stream_set_name(struct istream *stream, const char *name);


More information about the dovecot-cvs mailing list