virDomainMemoryDefParseXML: Use virXMLProp*

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Tim Wiederhake 2021-05-04 16:02:28 +02:00 committed by Michal Privoznik
parent 550981ce97
commit 3b7bc307d5

View File

@ -14856,48 +14856,24 @@ virDomainMemoryDefParseXML(virDomainXMLOption *xmlopt,
VIR_XPATH_NODE_AUTORESTORE(ctxt) VIR_XPATH_NODE_AUTORESTORE(ctxt)
xmlNodePtr node; xmlNodePtr node;
virDomainMemoryDef *def; virDomainMemoryDef *def;
int val;
g_autofree char *tmp = NULL; g_autofree char *tmp = NULL;
def = g_new0(virDomainMemoryDef, 1); def = g_new0(virDomainMemoryDef, 1);
ctxt->node = memdevNode; ctxt->node = memdevNode;
if (!(tmp = virXMLPropString(memdevNode, "model"))) { if (virXMLPropEnum(memdevNode, "model", virDomainMemoryModelTypeFromString,
virReportError(VIR_ERR_XML_ERROR, "%s", VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO,
_("missing memory model")); &def->model) < 0)
goto error; goto error;
}
if ((val = virDomainMemoryModelTypeFromString(tmp)) <= 0) { if (virXMLPropEnum(memdevNode, "access", virDomainMemoryAccessTypeFromString,
virReportError(VIR_ERR_XML_ERROR, VIR_XML_PROP_NONZERO, &def->access) < 0)
_("invalid memory model '%s'"), tmp);
goto error; goto error;
}
VIR_FREE(tmp);
def->model = val;
if ((tmp = virXMLPropString(memdevNode, "access"))) { if (virXMLPropTristateBool(memdevNode, "discard", VIR_XML_PROP_NONE,
if ((val = virDomainMemoryAccessTypeFromString(tmp)) <= 0) { &def->discard) < 0)
virReportError(VIR_ERR_XML_ERROR, goto error;
_("invalid access mode '%s'"), tmp);
goto error;
}
def->access = val;
}
VIR_FREE(tmp);
if ((tmp = virXMLPropString(memdevNode, "discard"))) {
if ((val = virTristateBoolTypeFromString(tmp)) <= 0) {
virReportError(VIR_ERR_XML_ERROR,
_("invalid discard value '%s'"), tmp);
goto error;
}
def->discard = val;
}
VIR_FREE(tmp);
/* Extract NVDIMM UUID. */ /* Extract NVDIMM UUID. */
if (def->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM && if (def->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM &&
@ -14910,7 +14886,6 @@ virDomainMemoryDefParseXML(virDomainXMLOption *xmlopt,
goto error; goto error;
} }
} }
VIR_FREE(tmp);
/* source */ /* source */
if ((node = virXPathNode("./source", ctxt)) && if ((node = virXPathNode("./source", ctxt)) &&