[libvirt PATCH 09/10] virDomainCachetuneDefParseCache: Use virXMLProp*

Tim Wiederhake twiederh at redhat.com
Tue May 4 14:02:34 UTC 2021


Signed-off-by: Tim Wiederhake <twiederh at 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




More information about the libvir-list mailing list