Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/conf/domain_conf.c | 43 +++++-------------------------------------
1 file changed, 5 insertions(+), 38 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 52d12bfb43..483df91880 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -18625,53 +18625,20 @@ virDomainCachetuneDefParseCache(xmlXPathContextPtr ctxt,
VIR_XPATH_NODE_AUTORESTORE(ctxt)
unsigned int level;
unsigned int cache;
- int type;
+ virCacheType type;
unsigned long long size;
- g_autofree char *tmp = NULL;
ctxt->node = node;
- tmp = virXMLPropString(node, "id");
- if (!tmp) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("Missing cachetune attribute 'id'"));
+ if (virXMLPropUInt(node, "id", 10, VIR_XML_PROP_REQUIRED, &cache) <
0)
return -1;
- }
- if (virStrToLong_uip(tmp, NULL, 10, &cache) < 0) {
- virReportError(VIR_ERR_XML_ERROR,
- _("Invalid cachetune attribute 'id' value
'%s'"),
- tmp);
- return -1;
- }
- VIR_FREE(tmp);
- tmp = virXMLPropString(node, "level");
- if (!tmp) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("Missing cachetune attribute 'level'"));
+ if (virXMLPropUInt(node, "level", 10, VIR_XML_PROP_REQUIRED, &level)
< 0)
return -1;
- }
- if (virStrToLong_uip(tmp, NULL, 10, &level) < 0) {
- virReportError(VIR_ERR_XML_ERROR,
- _("Invalid cachetune attribute 'level' value
'%s'"),
- tmp);
- return -1;
- }
- VIR_FREE(tmp);
- tmp = virXMLPropString(node, "type");
- if (!tmp) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("Missing cachetune attribute 'type'"));
- return -1;
- }
- type = virCacheTypeFromString(tmp);
- if (type < 0) {
- virReportError(VIR_ERR_XML_ERROR,
- _("Invalid cachetune attribute 'type' value
'%s'"),
- tmp);
+ if (virXMLPropEnum(node, "type", virCacheTypeFromString,
+ VIR_XML_PROP_REQUIRED, &type) < 0)
return -1;
- }
if (virParseScaledValue("./@size", "./@unit",
ctxt, &size, 1024,
--
2.26.3