dovecot-1.2: Added i_stream_add_data().
dovecot at dovecot.org
dovecot at dovecot.org
Sat Jun 21 12:51:45 EEST 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/4a166ccec256
changeset: 7925:4a166ccec256
user: Timo Sirainen <tss at iki.fi>
date: Sat Jun 21 12:21:18 2008 +0300
description:
Added i_stream_add_data().
diffstat:
2 files changed, 20 insertions(+)
src/lib/istream.c | 15 +++++++++++++++
src/lib/istream.h | 5 +++++
diffs (38 lines):
diff -r 30871a9961f7 -r 4a166ccec256 src/lib/istream.c
--- a/src/lib/istream.c Sat Jun 21 11:25:54 2008 +0300
+++ b/src/lib/istream.c Sat Jun 21 12:21:18 2008 +0300
@@ -347,6 +347,21 @@ bool i_stream_get_buffer_space(struct is
return stream->pos != stream->buffer_size;
}
+bool i_stream_add_data(struct istream *_stream, const unsigned char *data,
+ size_t size)
+{
+ struct istream_private *stream = _stream->real_stream;
+ size_t size2;
+
+ (void)i_stream_get_buffer_space(stream, size, &size2);
+ if (size > size2)
+ return FALSE;
+
+ memcpy(stream->w_buffer + stream->pos, data, size);
+ stream->pos += size;
+ return TRUE;
+}
+
static void
i_stream_default_set_max_buffer_size(struct iostream_private *stream,
size_t max_size)
diff -r 30871a9961f7 -r 4a166ccec256 src/lib/istream.h
--- a/src/lib/istream.h Sat Jun 21 11:25:54 2008 +0300
+++ b/src/lib/istream.h Sat Jun 21 12:21:18 2008 +0300
@@ -105,4 +105,9 @@ int i_stream_read_data(struct istream *s
int i_stream_read_data(struct istream *stream, const unsigned char **data_r,
size_t *size_r, size_t threshold);
+/* Append external data to input stream. Returns TRUE if successful, FALSE if
+ there is not enough space in the stream. */
+bool i_stream_add_data(struct istream *stream, const unsigned char *data,
+ size_t size);
+
#endif
More information about the dovecot-cvs
mailing list