util: Make sure the comment about virBufferAddBuffer is true

Change it so it really *always* eats the @toadd buffer.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Martin Kletzander 2015-03-13 16:41:42 +01:00
parent 57f726a50b
commit 3a13e4f178

View File

@ -1,7 +1,7 @@
/*
* virbuffer.c: buffers for libvirt
*
* Copyright (C) 2005-2008, 2010-2014 Red Hat, Inc.
* Copyright (C) 2005-2008, 2010-2015 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -188,23 +188,27 @@ virBufferAddBuffer(virBufferPtr buf, virBufferPtr toadd)
{
unsigned int needSize;
if (!buf || !toadd)
if (!toadd)
return;
if (!buf)
goto done;
if (buf->error || toadd->error) {
if (!buf->error)
buf->error = toadd->error;
virBufferFreeAndReset(toadd);
return;
goto done;
}
needSize = buf->use + toadd->use;
if (virBufferGrow(buf, needSize - buf->use) < 0)
return;
goto done;
memcpy(&buf->content[buf->use], toadd->content, toadd->use);
buf->use += toadd->use;
buf->content[buf->use] = '\0';
done:
virBufferFreeAndReset(toadd);
}