]> xenbits.xensource.com Git - libvirt.git/commitdiff
virDomainGraphicsDefParseXMLSDL: Use virXMLProp*
authorTim Wiederhake <twiederh@redhat.com>
Fri, 23 Apr 2021 15:39:14 +0000 (17:39 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 26 Apr 2021 11:43:32 +0000 (13:43 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/conf/domain_conf.c

index a72d58f48859b0f1e2cd7296ba3695710dd6bb0d..5b0e90f23435933cb632ba6bccf15ea25b01a653 100644 (file)
@@ -12813,42 +12813,23 @@ virDomainGraphicsDefParseXMLSDL(virDomainGraphicsDef *def,
                                 xmlXPathContextPtr ctxt)
 {
     VIR_XPATH_NODE_AUTORESTORE(ctxt)
-    int enableVal;
     xmlNodePtr glNode;
-    g_autofree char *fullscreen = virXMLPropString(node, "fullscreen");
-    g_autofree char *enable = NULL;
+    virTristateBool fullscreen = VIR_TRISTATE_BOOL_NO;
 
     ctxt->node = node;
 
-    if (fullscreen != NULL) {
-        if (virStringParseYesNo(fullscreen, &def->data.sdl.fullscreen) < 0) {
-            virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("unknown fullscreen value '%s'"), fullscreen);
-            return -1;
-        }
-    } else {
-        def->data.sdl.fullscreen = false;
-    }
+    if (virXMLPropTristateBool(node, "fullscreen", VIR_XML_PROP_NONE,
+                               &fullscreen) < 0)
+        return -1;
 
+    def->data.sdl.fullscreen = fullscreen == VIR_TRISTATE_BOOL_YES;
     def->data.sdl.xauth = virXMLPropString(node, "xauth");
     def->data.sdl.display = virXMLPropString(node, "display");
 
-    glNode = virXPathNode("./gl", ctxt);
-    if (glNode) {
-        enable = virXMLPropString(glNode, "enable");
-        if (!enable) {
-            virReportError(VIR_ERR_XML_ERROR, "%s",
-                           _("sdl gl element missing enable"));
+    if ((glNode = virXPathNode("./gl", ctxt))) {
+        if (virXMLPropTristateBool(glNode, "enable", VIR_XML_PROP_REQUIRED,
+                                   &def->data.sdl.gl) < 0)
             return -1;
-        }
-
-        enableVal = virTristateBoolTypeFromString(enable);
-        if (enableVal < 0) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                           _("unknown enable value '%s'"), enable);
-            return -1;
-        }
-        def->data.sdl.gl = enableVal;
     }
 
     return 0;