changeset 22410:e3ba9312f75b

lib: Fix ostream-buffer to return buffer contents size in o_stream_get_buffer_used_size(). This is necessary for querying o_stream_get_buffer_avail_size() with respect to a limit set earlier using o_stream_set_max_buffer_size(). This is mainly useful for test suites.
author Stephan Bosch <stephan.bosch@dovecot.fi>
date Thu, 15 Jun 2017 09:18:03 +0200
parents 4445150874d9
children 2e37d35c7377
files src/lib/ostream-buffer.c
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/ostream-buffer.c	Thu Aug 10 10:23:32 2017 +0300
+++ b/src/lib/ostream-buffer.c	Thu Jun 15 09:18:03 2017 +0200
@@ -53,6 +53,14 @@
 	return ret;
 }
 
+static size_t
+o_stream_buffer_get_used_size(const struct ostream_private *stream)
+{
+	struct buffer_ostream *bstream = (struct buffer_ostream *)stream;
+
+	return bstream->buf->used;
+}
+
 struct ostream *o_stream_create_buffer(buffer_t *buf)
 {
 	struct buffer_ostream *bstream;
@@ -66,6 +74,7 @@
 	bstream->ostream.seek = o_stream_buffer_seek;
 	bstream->ostream.sendv = o_stream_buffer_sendv;
 	bstream->ostream.write_at = o_stream_buffer_write_at;
+	bstream->ostream.get_used_size = o_stream_buffer_get_used_size;
 
 	bstream->buf = buf;
 	output = o_stream_create(&bstream->ostream, NULL, -1);