diff --git a/src/DecoderBuffer.cxx b/src/DecoderBuffer.cxx index 78a2ccdc6..4a5125bc5 100644 --- a/src/DecoderBuffer.cxx +++ b/src/DecoderBuffer.cxx @@ -130,6 +130,12 @@ decoder_buffer_fill(DecoderBuffer *buffer) return true; } +size_t +decoder_buffer_available(const DecoderBuffer *buffer) +{ + return buffer->length - buffer->consumed;; +} + const void * decoder_buffer_read(const DecoderBuffer *buffer, size_t *length_r) { diff --git a/src/DecoderBuffer.hxx b/src/DecoderBuffer.hxx index 0eaf0c4f3..65c6e0d2e 100644 --- a/src/DecoderBuffer.hxx +++ b/src/DecoderBuffer.hxx @@ -77,6 +77,13 @@ decoder_buffer_clear(DecoderBuffer *buffer); bool decoder_buffer_fill(DecoderBuffer *buffer); +/** + * How many bytes are stored in the buffer? + */ +gcc_pure +size_t +decoder_buffer_available(const DecoderBuffer *buffer); + /** * Reads data from the buffer. This data is not yet consumed, you * have to call decoder_buffer_consume() to do that. The returned