1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-04-01 20:05:19 +00:00

conf: Refactor virDomainPanicDefFormat

Use virXMLFormatElement to format the internals along with simplifying
cleanup code paths.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2019-03-05 10:17:31 +01:00
parent 4a08acd77e
commit bc817ddfdd

View File

@ -25921,36 +25921,18 @@ virDomainWatchdogDefFormat(virBufferPtr buf,
static int virDomainPanicDefFormat(virBufferPtr buf,
virDomainPanicDefPtr def)
{
virBuffer childrenBuf = VIR_BUFFER_INITIALIZER;
int ret = -1;
virBufferAddLit(buf, "<panic");
VIR_AUTOCLEAN(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER;
VIR_AUTOCLEAN(virBuffer) childrenBuf = VIR_BUFFER_INITIALIZER;
if (def->model)
virBufferAsprintf(buf, " model='%s'",
virBufferAsprintf(&attrBuf, " model='%s'",
virDomainPanicModelTypeToString(def->model));
virBufferSetChildIndent(&childrenBuf, buf);
if (virDomainDeviceInfoFormat(&childrenBuf, &def->info, 0) < 0)
goto cleanup;
return -1;
if (virBufferCheckError(&childrenBuf) < 0)
goto cleanup;
if (virBufferUse(&childrenBuf)) {
virBufferAddLit(buf, ">\n");
virBufferAddBuffer(buf, &childrenBuf);
virBufferAddLit(buf, "</panic>\n");
} else {
virBufferAddLit(buf, "/>\n");
}
ret = 0;
cleanup:
virBufferFreeAndReset(&childrenBuf);
return ret;
return virXMLFormatElement(buf, "panic", &attrBuf, &childrenBuf);
}
static int