]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainFeaturesDefParse: Simplify APIC parsing
authorTim Wiederhake <twiederh@redhat.com>
Tue, 22 Jun 2021 12:22:57 +0000 (14:22 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 23 Jun 2021 11:45:56 +0000 (13:45 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c

index 50717c4f44b3e21beef9bafad35d63019b5df716..d78f846a52b54b8f007489a2d5180d5b1f30e403 100644 (file)
@@ -17532,7 +17532,6 @@ virDomainFeaturesDefParse(virDomainDef *def,
         return -1;
 
     for (i = 0; i < n; i++) {
-        g_autofree char *tmp = NULL;
         int val = virDomainFeatureTypeFromString((const char *)nodes[i]->name);
         if (val < 0) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -17541,18 +17540,6 @@ virDomainFeaturesDefParse(virDomainDef *def,
         }
 
         switch ((virDomainFeature) val) {
-        case VIR_DOMAIN_FEATURE_APIC:
-            if ((tmp = virXPathString("string(./features/apic/@eoi)", ctxt))) {
-                int eoi;
-                if ((eoi = virTristateSwitchTypeFromString(tmp)) <= 0) {
-                    virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                                   _("unknown value for attribute eoi: '%s'"),
-                                   tmp);
-                    return -1;
-                }
-                def->apic_eoi = eoi;
-            }
-            G_GNUC_FALLTHROUGH;
         case VIR_DOMAIN_FEATURE_ACPI:
         case VIR_DOMAIN_FEATURE_PAE:
         case VIR_DOMAIN_FEATURE_VIRIDIAN:
@@ -17560,6 +17547,16 @@ virDomainFeaturesDefParse(virDomainDef *def,
             def->features[val] = VIR_TRISTATE_SWITCH_ON;
             break;
 
+        case VIR_DOMAIN_FEATURE_APIC: {
+            virTristateSwitch eoi;
+            if (virXMLPropTristateSwitch(nodes[i], "eoi", VIR_XML_PROP_NONE, &eoi) < 0)
+                return -1;
+
+            def->features[val] = VIR_TRISTATE_SWITCH_ON;
+            def->apic_eoi = eoi;
+            break;
+        }
+
         case VIR_DOMAIN_FEATURE_MSRS: {
             virDomainMsrsUnknown unknown;
             if (virXMLPropEnum(nodes[i], "unknown",