]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainMemoryDefParseXML: Use virXMLProp*
authorTim Wiederhake <twiederh@redhat.com>
Tue, 4 May 2021 14:02:28 +0000 (16:02 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 6 May 2021 11:54:34 +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 f6aaadbcb6c3d018532a2afc8fe8d4edf5418212..c25b5ad19faec07c25db16df072bbd2c6dbae02d 100644 (file)
@@ -14856,48 +14856,24 @@ virDomainMemoryDefParseXML(virDomainXMLOption *xmlopt,
     VIR_XPATH_NODE_AUTORESTORE(ctxt)
     xmlNodePtr node;
     virDomainMemoryDef *def;
-    int val;
     g_autofree char *tmp = NULL;
 
     def = g_new0(virDomainMemoryDef, 1);
 
     ctxt->node = memdevNode;
 
-    if (!(tmp = virXMLPropString(memdevNode, "model"))) {
-        virReportError(VIR_ERR_XML_ERROR, "%s",
-                       _("missing memory model"));
+    if (virXMLPropEnum(memdevNode, "model", virDomainMemoryModelTypeFromString,
+                       VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO,
+                       &def->model) < 0)
         goto error;
-    }
 
-    if ((val = virDomainMemoryModelTypeFromString(tmp)) <= 0) {
-        virReportError(VIR_ERR_XML_ERROR,
-                       _("invalid memory model '%s'"), tmp);
+    if (virXMLPropEnum(memdevNode, "access", virDomainMemoryAccessTypeFromString,
+                       VIR_XML_PROP_NONZERO, &def->access) < 0)
         goto error;
-    }
-    VIR_FREE(tmp);
-    def->model = val;
-
-    if ((tmp = virXMLPropString(memdevNode, "access"))) {
-        if ((val = virDomainMemoryAccessTypeFromString(tmp)) <= 0) {
-            virReportError(VIR_ERR_XML_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);
+    if (virXMLPropTristateBool(memdevNode, "discard", VIR_XML_PROP_NONE,
+                               &def->discard) < 0)
+        goto error;
 
     /* Extract NVDIMM UUID. */
     if (def->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM &&
@@ -14910,7 +14886,6 @@ virDomainMemoryDefParseXML(virDomainXMLOption *xmlopt,
             goto error;
         }
     }
-    VIR_FREE(tmp);
 
     /* source */
     if ((node = virXPathNode("./source", ctxt)) &&