virDomainResourceDefFormat(virBuffer *buf,
virDomainResourceDef *def)
{
- virBufferAddLit(buf, "<resource>\n");
- virBufferAdjustIndent(buf, 2);
- virBufferEscapeString(buf, "<partition>%s</partition>\n", def->partition);
- virBufferAdjustIndent(buf, -2);
- virBufferAddLit(buf, "</resource>\n");
+ g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
+
+ if (!def)
+ return;
+
+ if (def->partition)
+ virBufferEscapeString(&childBuf, "<partition>%s</partition>\n", def->partition);
+
+ virXMLFormatElement(buf, "resource", NULL, &childBuf);
}
if (virDomainNumatuneFormatXML(buf, def->numa) < 0)
return -1;
- if (def->resource)
- virDomainResourceDefFormat(buf, def->resource);
+ virDomainResourceDefFormat(buf, def->resource);
for (i = 0; i < def->nsysinfo; i++) {
if (virSysinfoFormat(buf, def->sysinfo[i]) < 0)