]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainSEVDefParseXML: Use virXMLPropEnum
authorTim Wiederhake <twiederh@redhat.com>
Mon, 5 Jul 2021 10:46:51 +0000 (12:46 +0200)
committerJán Tomko <jtomko@redhat.com>
Wed, 7 Jul 2021 13:34:11 +0000 (15:34 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index 68ab18f3aba693c2eb96a06fcafc1458a974ea7d..dda615a8bae4b2aac9b0cc23989b0618cb80126a 100644 (file)
@@ -14721,33 +14721,16 @@ virDomainSEVDefParseXML(xmlNodePtr sevNode,
     VIR_XPATH_NODE_AUTORESTORE(ctxt)
     virDomainSEVDef *def;
     unsigned long policy;
-    g_autofree char *type = NULL;
-    int sectype;
     int rc = -1;
 
     def = g_new0(virDomainSEVDef, 1);
 
     ctxt->node = sevNode;
 
-    if (!(type = virXMLPropString(sevNode, "type"))) {
-        virReportError(VIR_ERR_XML_ERROR, "%s",
-                       _("missing launch security type"));
-        goto error;
-    }
-
-    sectype = virDomainLaunchSecurityTypeFromString(type);
-    switch ((virDomainLaunchSecurity) sectype) {
-    case VIR_DOMAIN_LAUNCH_SECURITY_SEV:
-        break;
-    case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
-    case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
-    default:
-        virReportError(VIR_ERR_XML_ERROR,
-                       _("unsupported launch security type '%s'"),
-                       type);
+    if (virXMLPropEnum(sevNode, "type", virDomainLaunchSecurityTypeFromString,
+                       VIR_XML_PROP_NONZERO | VIR_XML_PROP_REQUIRED,
+                       &def->sectype) < 0)
         goto error;
-    }
-    def->sectype = sectype;
 
     if (virXPathULongHex("string(./policy)", ctxt, &policy) < 0) {
         virReportError(VIR_ERR_XML_ERROR, "%s",