From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfPkO-00061E-UG for qemu-devel@nongnu.org; Fri, 25 Sep 2015 05:56:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZfPkK-0002Vk-S5 for qemu-devel@nongnu.org; Fri, 25 Sep 2015 05:56:56 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:53234 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfPkK-0002Ve-GM for qemu-devel@nongnu.org; Fri, 25 Sep 2015 05:56:52 -0400 Message-ID: <56051A62.5020302@kamp.de> Date: Fri, 25 Sep 2015 11:56:50 +0200 From: Peter Lieven MIME-Version: 1.0 References: <1443084128-25552-1-git-send-email-kraxel@redhat.com> <1443084128-25552-5-git-send-email-kraxel@redhat.com> In-Reply-To: <1443084128-25552-5-git-send-email-kraxel@redhat.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RfC PATCH 04/10] io: add qio_buffer_init List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann , qemu-devel@nongnu.org Am 24.09.2015 um 10:42 schrieb Gerd Hoffmann: > Signed-off-by: Gerd Hoffmann > --- > 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