From nobody Tue Feb 10 04:13:44 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1599190932; cv=none; d=zohomail.com; s=zohoarc; b=gX5aKuii7CFPRlrvAs1gSWXf6j0VrTpoTmrfE8VqKT41oRpQVwJHRdlg5qQwBkICHpCvsaz5lmrN4xMCJ68pcWrHYjsjYg6a7yMyHpatySUnQgVueEcFZwITjGdLuJoz6Nw522S6NNmjYuD/RinqA8qeYbhEBKFy8/Tc8CaytkI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1599190932; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WPuZ1cm5dfQn51RgvTNWW7CWem8FfC48Z7qZVFkmNFY=; b=Rp+7uf0BxAJr45HqXYKnwcfY8hyMiMZ9KF0+ryaK5PGUpv1UIjiQM/F8dKdunSe5z51Ix/JK+D0MHVCVDY3D7B+AfvoXfd+w3kEZ8yUjJijRO7RcyDYfrI/J1JsAQ9XX0Og75V+o7lmdbFsIi57Zg+UBjlisHP5/94iGv6G4iIc= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1599190932640587.5981259864528; Thu, 3 Sep 2020 20:42:12 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-507-cXgreUs9NiWE6MwgTwezNQ-1; Thu, 03 Sep 2020 23:41:57 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8D37810060F1; Fri, 4 Sep 2020 03:41:47 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6A46B5D9DC; Fri, 4 Sep 2020 03:41:47 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 369DA972ED; Fri, 4 Sep 2020 03:41:47 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0843f9XP030552 for ; Thu, 3 Sep 2020 23:41:11 -0400 Received: by smtp.corp.redhat.com (Postfix) id B779B2157F4F; Fri, 4 Sep 2020 03:41:09 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AD5C62166B27 for ; Fri, 4 Sep 2020 03:41:09 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 47076805B05 for ; Fri, 4 Sep 2020 03:41:09 +0000 (UTC) Received: from mail-m24147.qiye.163.com (mail-m24147.qiye.163.com [220.194.24.147]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-576-Y9SpMov-NVWHFd9yC_iTaQ-1; Thu, 03 Sep 2020 23:41:06 -0400 Received: from localhost.localdomain (unknown [58.56.27.130]) by smtp4 (Coremail) with SMTP id JedpCgAHcNgStlFfYHYgCg--.1426S47; Fri, 04 Sep 2020 11:35:59 +0800 (CST) X-MC-Unique: cXgreUs9NiWE6MwgTwezNQ-1 X-MC-Unique: Y9SpMov-NVWHFd9yC_iTaQ-1 From: Shi Lei To: libvir-list@redhat.com Subject: [RFCv2 45/46] conf: Replace virDomainGraphicsDefParseXML(hardcoded) with namesake(generated) Date: Fri, 4 Sep 2020 11:35:37 +0800 Message-Id: <20200904033538.418579-46-shi_lei@massclouds.com> In-Reply-To: <20200904033538.418579-1-shi_lei@massclouds.com> References: <20200904033538.418579-1-shi_lei@massclouds.com> MIME-Version: 1.0 X-CM-TRANSID: JedpCgAHcNgStlFfYHYgCg--.1426S47 X-Coremail-Antispam: 1Uf129KBjvAXoW3uFWfCrWxtrWkKF4DZrWxCrg_yoW8JFWDAo W3ZF93tw4fXrWIvr48G397Jay8Aw4ayrW8tF4jgas5ta4kur48Kr1Uu345G34DJay7Aa4U CFs3Cw48trZ7Aw17n29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjTRXxhpUUUUU X-Originating-IP: [58.56.27.130] X-CM-SenderInfo: pvklsz1hl6ztxvvfz0xxgvhudrp/1tbiRR+VT1bdHCRQ4QAAsC X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false; X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0.002 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Shi Lei --- src/conf/domain_conf.c | 140 ++++++--------------------------------- src/conf/domain_conf.h | 21 +++--- src/qemu/qemu_command.c | 2 + src/qemu/qemu_driver.c | 2 + src/qemu/qemu_hotplug.c | 1 + src/qemu/qemu_process.c | 4 ++ src/qemu/qemu_validate.c | 1 + src/vmx/vmx.c | 1 + 8 files changed, 42 insertions(+), 130 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 60bea6f..61dc7b3 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -843,6 +843,7 @@ VIR_ENUM_IMPL(virDomainInputModel, =20 VIR_ENUM_IMPL(virDomainGraphics, VIR_DOMAIN_GRAPHICS_TYPE_LAST, + "none", "sdl", "vnc", "rdp", @@ -1824,6 +1825,7 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr= def) VIR_FREE(def->data.egl_headless.rendernode); break; =20 + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } @@ -14185,47 +14187,6 @@ virDomainGraphicsListenDefParseXMLHook(xmlNodePtr = node G_GNUC_UNUSED, } =20 =20 -static int -virDomainGraphicsListensParseXML(virDomainGraphicsDefPtr def, - xmlNodePtr node, - xmlXPathContextPtr ctxt, - unsigned int flags) -{ - int nListens; - int ret =3D -1; - g_autofree xmlNodePtr *listenNodes =3D NULL; - VIR_XPATH_NODE_AUTORESTORE(ctxt); - - ctxt->node =3D node; - - /* parse the subelements for graphics types that support it */ - nListens =3D virXPathNodeSet("./listen", ctxt, &listenNodes); - if (nListens < 0) - goto cleanup; - - if (nListens > 0) { - size_t i; - - if (VIR_ALLOC_N(def->listens, nListens) < 0) - goto cleanup; - - for (i =3D 0; i < nListens; i++) { - virDomainGraphicsListenDefPtr listen =3D &def->listens[i]; - if (virDomainGraphicsListenDefParseXML(listenNodes[i], - listen, NULL, - def, &flags) < 0) - goto cleanup; - - def->nListens++; - } - } - - ret =3D 0; - cleanup: - return ret; -} - - int virDomainGraphicsVNCDefParseXMLHook(xmlNodePtr node G_GNUC_UNUSED, virDomainGraphicsVNCDefPtr def, @@ -14368,7 +14329,7 @@ virDomainNetDefNew(virDomainXMLOptionPtr xmlopt) } =20 =20 -static int +int virDomainGraphicsDefParseXMLHook(xmlNodePtr node, virDomainGraphicsDefPtr def, const char *instname G_GNUC_UNUSED, @@ -14464,78 +14425,6 @@ virDomainGraphicsDefParseXMLHook(xmlNodePtr node, } =20 =20 -/* Parse the XML definition for a graphics device */ -static virDomainGraphicsDefPtr -virDomainGraphicsDefParseXML(virDomainXMLOptionPtr xmlopt, - xmlNodePtr node, - xmlXPathContextPtr ctxt, - unsigned int flags) -{ - virDomainGraphicsDefPtr def; - int typeVal; - g_autofree char *type =3D NULL; - - if (!(def =3D virDomainGraphicsDefNew(xmlopt))) - return NULL; - - type =3D virXMLPropString(node, "type"); - if (!type) { - virReportError(VIR_ERR_INTERNAL_ERROR, - "%s", _("missing graphics device type")); - goto error; - } - - if ((typeVal =3D virDomainGraphicsTypeFromString(type)) < 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown graphics device type '%s'"), type); - goto error; - } - def->type =3D typeVal; - - if (virDomainGraphicsListensParseXML(def, node, ctxt, flags) < 0) - goto error; - - switch (def->type) { - case VIR_DOMAIN_GRAPHICS_TYPE_VNC: - if (virDomainGraphicsVNCDefParseXML(node, &def->data.vnc, NULL, de= f, &flags) < 0) - goto error; - break; - case VIR_DOMAIN_GRAPHICS_TYPE_SDL: - if (virDomainGraphicsSDLDefParseXML(node, &def->data.sdl, NULL, de= f, NULL) < 0) - goto error; - break; - case VIR_DOMAIN_GRAPHICS_TYPE_RDP: - if (virDomainGraphicsRDPDefParseXML(node, &def->data.rdp, NULL, de= f, &flags) < 0) - goto error; - break; - case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: - if (virDomainGraphicsDesktopDefParseXML(node, &def->data.desktop, = NULL, def, NULL) < 0) - goto error; - break; - case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: - if (virDomainGraphicsSpiceDefParseXML(node, &def->data.spice, NULL= , def, &flags) < 0) - goto error; - break; - case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: - if (virDomainGraphicsEGLHeadlessDefParseXML(node, &def->data.egl_h= eadless, NULL, def, NULL) < 0) - goto error; - break; - case VIR_DOMAIN_GRAPHICS_TYPE_LAST: - break; - } - - if (virDomainGraphicsDefParseXMLHook(node, def, NULL, NULL, &flags) < = 0) - goto error; - - return def; - - error: - virDomainGraphicsDefFree(def); - def =3D NULL; - return NULL; -} - - static virDomainSoundCodecDefPtr virDomainSoundCodecDefParseXML(xmlNodePtr node) { @@ -16714,9 +16603,14 @@ virDomainDeviceDefParse(const char *xmlStr, return NULL; break; case VIR_DOMAIN_DEVICE_GRAPHICS: - if (!(dev->data.graphics =3D virDomainGraphicsDefParseXML(xmlopt, = node, - ctxt, flag= s))) + if (!(dev->data.graphics =3D virDomainGraphicsDefNew(xmlopt))) return NULL; + if (virDomainGraphicsDefParseXML(node, dev->data.graphics, NULL, + dev, &flags) < 0) { + virDomainGraphicsDefFree(dev->data.graphics); + dev->data.graphics =3D NULL; + return NULL; + } break; case VIR_DOMAIN_DEVICE_HUB: if (!(dev->data.hub =3D virDomainHubDefParseXML(xmlopt, node, flag= s))) @@ -21572,13 +21466,16 @@ virDomainDefParseXML(xmlDocPtr xml, if (n && VIR_ALLOC_N(def->graphics, n) < 0) goto error; for (i =3D 0; i < n; i++) { - virDomainGraphicsDefPtr graphics =3D virDomainGraphicsDefParseXML(= xmlopt, - no= des[i], - ct= xt, - fl= ags); + virDomainGraphicsDefPtr graphics =3D virDomainGraphicsDefNew(xmlop= t); if (!graphics) goto error; =20 + if (virDomainGraphicsDefParseXML(nodes[i], graphics, NULL, + def, &flags) < 0) { + virDomainGraphicsDefFree(graphics); + goto error; + } + def->graphics[def->ngraphics++] =3D graphics; } VIR_FREE(nodes); @@ -27934,6 +27831,7 @@ virDomainGraphicsDefFormat(virBufferPtr buf, return -1; =20 break; + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } @@ -32343,6 +32241,7 @@ virDomainGraphicsDefHasOpenGL(const virDomainDef *d= ef) case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: return true; =20 + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } @@ -32381,6 +32280,7 @@ virDomainGraphicsGetRenderNode(const virDomainGraph= icsDef *graphics) case VIR_DOMAIN_GRAPHICS_TYPE_VNC: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index d78cdbb..b6d69fa 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1545,6 +1545,7 @@ struct _virDomainVideoDef { =20 /* graphics console modes */ typedef enum { + VIR_DOMAIN_GRAPHICS_TYPE_NONE =3D 0, VIR_DOMAIN_GRAPHICS_TYPE_SDL, VIR_DOMAIN_GRAPHICS_TYPE_VNC, VIR_DOMAIN_GRAPHICS_TYPE_RDP, @@ -1750,7 +1751,7 @@ struct _virDomainGraphicsEGLHeadlessDef { /* genpar= se, genformat:separate */ char *rendernode; /* xmlattr:gl/rendernode */ }; =20 -struct _virDomainGraphicsDef { +struct _virDomainGraphicsDef { /* genparse:concisehook */ virObjectPtr privateData; =20 /* Port value discipline: @@ -1758,20 +1759,20 @@ struct _virDomainGraphicsDef { * Value 0 means port wasn't specified in XML at all. * Positive value is actual port number given in XML. */ - virDomainGraphicsType type; + virDomainGraphicsType type; /* xmlattr */ union { - virDomainGraphicsSDLDef sdl; - virDomainGraphicsVNCDef vnc; - virDomainGraphicsRDPDef rdp; - virDomainGraphicsDesktopDef desktop; - virDomainGraphicsSpiceDef spice; - virDomainGraphicsEGLHeadlessDef egl_headless; - } data; + virDomainGraphicsSDLDef sdl; /* xmlgroup */ + virDomainGraphicsVNCDef vnc; /* xmlgroup */ + virDomainGraphicsRDPDef rdp; /* xmlgroup */ + virDomainGraphicsDesktopDef desktop; /* xmlgroup */ + virDomainGraphicsSpiceDef spice; /* xmlgroup */ + virDomainGraphicsEGLHeadlessDef egl_headless; /* xmlgroup */ + } data; /* xmlswitch:type */ /* nListens, listens, and *port are only useful if type is vnc, * rdp, or spice. They've been extracted from the union only to * simplify parsing code.*/ size_t nListens; - virDomainGraphicsListenDefPtr listens; + virDomainGraphicsListenDefPtr listens; /* xmlelem, array:nListens */ }; =20 typedef enum { diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f60f1e8..272be28 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7938,6 +7938,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr c= fg, case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: return -1; + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: default: virReportEnumRangeError(virDomainGraphicsType, graphics->type); @@ -9772,6 +9773,7 @@ qemuBuildCommandLineValidate(virQEMUDriverPtr driver, break; case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 0d06812..922b9bb 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15681,6 +15681,7 @@ qemuDomainOpenGraphics(virDomainPtr dom, _("Can only open VNC or SPICE graphics backends, no= t %s"), virDomainGraphicsTypeToString(vm->def->graphics[idx= ]->type)); goto endjob; + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: default: virReportEnumRangeError(virDomainGraphicsType, @@ -15750,6 +15751,7 @@ qemuDomainOpenGraphicsFD(virDomainPtr dom, _("Can only open VNC or SPICE graphics backends, no= t %s"), virDomainGraphicsTypeToString(vm->def->graphics[idx= ]->type)); goto cleanup; + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: default: virReportEnumRangeError(virDomainGraphicsType, diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 0588745..d008035 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -4191,6 +4191,7 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver, virReportError(VIR_ERR_INTERNAL_ERROR, _("unable to change config on '%s' graphics type"),= type); break; + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: default: virReportEnumRangeError(virDomainGraphicsType, dev->type); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index db1b47e..c20988f 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4687,6 +4687,7 @@ qemuProcessGraphicsReservePorts(virDomainGraphicsDefP= tr graphics, case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } @@ -4726,6 +4727,7 @@ qemuProcessGraphicsAllocatePorts(virQEMUDriverPtr dri= ver, case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } @@ -4882,6 +4884,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr drive= r, case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } @@ -5188,6 +5191,7 @@ qemuProcessStartValidateGraphics(virDomainObjPtr vm) case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 167cdc2..1d7a492 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -3416,6 +3416,7 @@ qemuValidateDomainDeviceDefGraphics(const virDomainGr= aphicsDef *graphics, _("unsupported graphics type '%s'"), virDomainGraphicsTypeToString(graphics->type)); return -1; + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: default: return -1; diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 4b1b04c..cfc88aa 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -3314,6 +3314,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOp= tionPtr xmlopt, virDomainDe virDomainGraphicsTypeToString(def->graphics[i]-= >type)); goto cleanup; =20 + case VIR_DOMAIN_GRAPHICS_TYPE_NONE: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: default: virReportEnumRangeError(virDomainGraphicsType, def->graphics= [i]->type); --=20 2.25.1