diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 7180ae616b..3bf864bc5d 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3353,25 +3353,19 @@ static void
qemuDomainDefNamespaceFormatXMLCommandline(virBuffer *buf,
qemuDomainXmlNsDef *cmd)
{
+ g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
GStrv n;
size_t i;
- if (!cmd->args && !cmd->num_env)
- return;
-
- virBufferAddLit(buf, "\n");
- virBufferAdjustIndent(buf, 2);
-
for (n = cmd->args; n && *n; n++)
- virBufferEscapeString(buf, "\n", *n);
+ virBufferEscapeString(&childBuf, "\n", *n);
for (i = 0; i < cmd->num_env; i++) {
- virBufferAsprintf(buf, "env[i].name);
- virBufferEscapeString(buf, " value='%s'", cmd->env[i].value);
- virBufferAddLit(buf, "/>\n");
+ virBufferAsprintf(&childBuf, "env[i].name);
+ virBufferEscapeString(&childBuf, " value='%s'", cmd->env[i].value);
+ virBufferAddLit(&childBuf, "/>\n");
}
- virBufferAdjustIndent(buf, -2);
- virBufferAddLit(buf, "\n");
+ virXMLFormatElement(buf, "qemu:commandline", NULL, &childBuf);
}
@@ -3379,22 +3373,16 @@ static void
qemuDomainDefNamespaceFormatXMLCaps(virBuffer *buf,
qemuDomainXmlNsDef *xmlns)
{
+ g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
GStrv n;
- if (!xmlns->capsadd && !xmlns->capsdel)
- return;
-
- virBufferAddLit(buf, "\n");
- virBufferAdjustIndent(buf, 2);
-
for (n = xmlns->capsadd; n && *n; n++)
- virBufferEscapeString(buf, "\n", *n);
+ virBufferEscapeString(&childBuf, "\n", *n);
for (n = xmlns->capsdel; n && *n; n++)
- virBufferEscapeString(buf, "\n", *n);
+ virBufferEscapeString(&childBuf, "\n", *n);
- virBufferAdjustIndent(buf, -2);
- virBufferAddLit(buf, "\n");
+ virXMLFormatElement(buf, "qemu:capabilities", NULL, &childBuf);
}