]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainLoaderDefParseXML: Use virXMLProp*
authorTim Wiederhake <twiederh@redhat.com>
Wed, 21 Apr 2021 13:33:32 +0000 (15:33 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 21 Apr 2021 15:11:05 +0000 (17:11 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/conf/domain_conf.c

index fd50c4905e0bdb7a9133603acbf167986931e154..0a00be4e8024507c9bdd51c9882fd3757bfcca19 100644 (file)
@@ -18854,15 +18854,15 @@ virDomainLoaderDefParseXML(xmlNodePtr node,
                            virDomainLoaderDef *loader,
                            bool fwAutoSelect)
 {
-    g_autofree char *readonly_str = NULL;
-    g_autofree char *secure_str = NULL;
-    g_autofree char *type_str = NULL;
+    if (!fwAutoSelect) {
+        if (virXMLPropTristateBool(node, "readonly", VIR_XML_PROP_NONE,
+                                   &loader->readonly) < 0)
+            return -1;
 
-    secure_str = virXMLPropString(node, "secure");
+        if (virXMLPropEnum(node, "type", virDomainLoaderTypeFromString,
+                           VIR_XML_PROP_NONZERO, &loader->type) < 0)
+            return -1;
 
-    if (!fwAutoSelect) {
-        readonly_str = virXMLPropString(node, "readonly");
-        type_str = virXMLPropString(node, "type");
         if (!(loader->path = virXMLNodeContentString(node)))
             return -1;
 
@@ -18870,35 +18870,9 @@ virDomainLoaderDefParseXML(xmlNodePtr node,
             VIR_FREE(loader->path);
     }
 
-    if (readonly_str) {
-        int value;
-        if ((value = virTristateBoolTypeFromString(readonly_str)) <= 0) {
-            virReportError(VIR_ERR_XML_DETAIL,
-                           _("unknown readonly value: %s"), readonly_str);
-            return -1;
-        }
-        loader->readonly = value;
-    }
-
-    if (secure_str) {
-        int value;
-        if ((value = virTristateBoolTypeFromString(secure_str)) <= 0) {
-            virReportError(VIR_ERR_XML_DETAIL,
-                           _("unknown secure value: %s"), secure_str);
-            return -1;
-        }
-        loader->secure = value;
-    }
-
-    if (type_str) {
-        int type;
-        if ((type = virDomainLoaderTypeFromString(type_str)) <= 0) {
-            virReportError(VIR_ERR_XML_DETAIL,
-                           _("unknown type value: %s"), type_str);
-            return -1;
-        }
-        loader->type = type;
-    }
+    if (virXMLPropTristateBool(node, "secure", VIR_XML_PROP_NONE,
+                               &loader->secure) < 0)
+        return -1;
 
     return 0;
 }