]> xenbits.xensource.com Git - libvirt.git/commitdiff
virDomainCachetuneDefParseCache: Use virXMLProp*
authorTim Wiederhake <twiederh@redhat.com>
Tue, 4 May 2021 14:02:34 +0000 (16:02 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 6 May 2021 11:54:40 +0000 (13:54 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c

index b2daf6e45e01166088ece36f6d2a72f12a480eb2..5f5d90537347e11dbcec2f39d5a8cec42866a09a 100644 (file)
@@ -18441,53 +18441,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,