From: Peter Krempa Date: Tue, 5 Mar 2019 09:17:31 +0000 (+0100) Subject: conf: Refactor virDomainHubDefFormat X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b6f32c9ec23c6c33e2a4258fdd242d988d9285ee;p=libvirt.git conf: Refactor virDomainHubDefFormat Use virXMLFormatElement to format the internals along with simplifying cleanup code paths. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 83e11f603f..5d745f8bce 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -26976,38 +26976,23 @@ virDomainHubDefFormat(virBufferPtr buf, unsigned int flags) { const char *type = virDomainHubTypeToString(def->type); - virBuffer childBuf = VIR_BUFFER_INITIALIZER; - int ret = -1; + VIR_AUTOCLEAN(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) childBuf = VIR_BUFFER_INITIALIZER; virBufferSetChildIndent(&childBuf, buf); if (!type) { virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected hub type %d"), def->type); - goto cleanup; + return -1; } if (virDomainDeviceInfoFormat(&childBuf, &def->info, flags) < 0) - goto cleanup; - - if (virBufferCheckError(&childBuf) < 0) - goto cleanup; - - virBufferAsprintf(buf, "\n"); - virBufferAddBuffer(buf, &childBuf); - virBufferAddLit(buf, "\n"); - } else { - virBufferAddLit(buf, "/>\n"); - } - - ret = 0; + return -1; - cleanup: - virBufferFreeAndReset(&childBuf); + virBufferAsprintf(&attrBuf, " type='%s'", type); - return ret; + return virXMLFormatElement(buf, "hub", &attrBuf, &childBuf); }