Am 24.09.2015 um 10:42 schrieb Gerd Hoffmann: > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > --- > include/io/buffer.h | 12 ++++++++++++ > io/buffer.c | 11 +++++++++++ > 2 files changed, 23 insertions(+) > > diff --git a/include/io/buffer.h b/include/io/buffer.h > index 2b1b261..cffad19 100644 > --- a/include/io/buffer.h > +++ b/include/io/buffer.h > @@ -34,12 +34,24 @@ typedef struct QIOBuffer QIOBuffer; > */ > > struct QIOBuffer { > + char *name; > size_t capacity; > size_t offset; > uint8_t *buffer; > }; > > /** > + * qio_buffer_init: > + * @buffer: the buffer object > + * @name: buffer name > + * > + * Optionally attach a name to the buffer, to make it easier > + * to identify in debug traces. > + */ > +void qio_buffer_init(QIOBuffer *buffer, const char *name, ...) > + GCC_FMT_ATTR(2, 3); > + > +/** > * qio_buffer_reserve: > * @buffer: the buffer object > * @len: the minimum required free space > diff --git a/io/buffer.c b/io/buffer.c > index 6aa06e7..daa3ebf 100644 > --- a/io/buffer.c > +++ b/io/buffer.c > @@ -22,6 +22,15 @@ > > #define QIO_BUFFER_MIN_INIT_SIZE 4096 > > +void qio_buffer_init(QIOBuffer *buffer, const char *name, ...) > +{ > + va_list ap; > + > + va_start(ap, name); > + buffer->name = g_strdup_vprintf(name, ap); > + va_end(ap); > +} > + > void qio_buffer_reserve(QIOBuffer *buffer, size_t len) > { > if ((buffer->capacity - buffer->offset) < len) { > @@ -49,9 +58,11 @@ void qio_buffer_reset(QIOBuffer *buffer) > void qio_buffer_free(QIOBuffer *buffer) > { > g_free(buffer->buffer); > + g_free(buffer->name); > buffer->offset = 0; > buffer->capacity = 0; > buffer->buffer = NULL; > + buffer->name = NULL; > } > > void qio_buffer_append(QIOBuffer *buffer, const void *data, size_t len)
Reviewed-by: Peter Lieven <p...@kamp.de>