diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 2a2cfd24e0..bb0d9f4501 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -27839,37 +27839,32 @@ static int virDomainMemorySourceDefFormat(virBufferPtr buf, virDomainMemoryDefPtr def) { + g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf); g_autofree char *bitmap = NULL; - if (!def->pagesize && !def->sourceNodes && !def->nvdimmPath) - return 0; - - virBufferAddLit(buf, "\n"); - virBufferAdjustIndent(buf, 2); - switch (def->model) { case VIR_DOMAIN_MEMORY_MODEL_DIMM: if (def->sourceNodes) { if (!(bitmap = virBitmapFormat(def->sourceNodes))) return -1; - virBufferAsprintf(buf, "%s\n", bitmap); + virBufferAsprintf(&childBuf, "%s\n", bitmap); } if (def->pagesize) - virBufferAsprintf(buf, "%llu\n", + virBufferAsprintf(&childBuf, "%llu\n", def->pagesize); break; case VIR_DOMAIN_MEMORY_MODEL_NVDIMM: - virBufferEscapeString(buf, "%s\n", def->nvdimmPath); + virBufferEscapeString(&childBuf, "%s\n", def->nvdimmPath); if (def->alignsize) - virBufferAsprintf(buf, "%llu\n", + virBufferAsprintf(&childBuf, "%llu\n", def->alignsize); if (def->nvdimmPmem) - virBufferAddLit(buf, "\n"); + virBufferAddLit(&childBuf, "\n"); break; case VIR_DOMAIN_MEMORY_MODEL_NONE: @@ -27877,8 +27872,7 @@ virDomainMemorySourceDefFormat(virBufferPtr buf, break; } - virBufferAdjustIndent(buf, -2); - virBufferAddLit(buf, "\n"); + virXMLFormatElement(buf, "source", NULL, &childBuf); return 0; }