]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Fix ostream-buffer to return buffer contents size in o_stream_get_buffer_used_si...
authorStephan Bosch <stephan.bosch@dovecot.fi>
Thu, 15 Jun 2017 07:18:03 +0000 (09:18 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Thu, 10 Aug 2017 09:40:13 +0000 (12:40 +0300)
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.

src/lib/ostream-buffer.c

index 84c7a2bb4a247594346a96a3a307ee0f2f034296..2ebfbe82d3a38976626a15efbf9d7426cf857fa8 100644 (file)
@@ -53,6 +53,14 @@ o_stream_buffer_sendv(struct ostream_private *stream,
        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 @@ struct ostream *o_stream_create_buffer(buffer_t *buf)
        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);