[PATCH 09/11] conf: domain: Parse 'type' attribute via virXMLPropEnum in virSysinfoParseXML

Peter Krempa pkrempa at redhat.com
Tue Nov 1 15:02:23 UTC 2022


Rewrite the code to use the simple helper.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/conf/domain_conf.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6379cfda7c..b9494500e2 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -12451,8 +12451,6 @@ virSysinfoParseXML(xmlNodePtr node,
 {
     VIR_XPATH_NODE_AUTORESTORE(ctxt)
     virSysinfoDef *def;
-    g_autofree char *typeStr = NULL;
-    int type;

     ctxt->node = node;

@@ -12464,18 +12462,9 @@ virSysinfoParseXML(xmlNodePtr node,

     def = g_new0(virSysinfoDef, 1);

-    typeStr = virXMLPropString(node, "type");
-    if (typeStr == NULL) {
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                       _("sysinfo must contain a type attribute"));
-        goto error;
-    }
-    if ((type = virSysinfoTypeFromString(typeStr)) < 0) {
-        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                       _("unknown sysinfo type '%s'"), typeStr);
+    if (virXMLPropEnum(node, "type", virSysinfoTypeFromString,
+                       VIR_XML_PROP_REQUIRED, &def->type) < 0)
         goto error;
-    }
-    def->type = type;

     switch (def->type) {
     case VIR_SYSINFO_SMBIOS:
-- 
2.37.3



More information about the libvir-list mailing list