[PATCH 1/2] conf: Convert 'protocol' field of TCP char device backend to proper type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use virDomainChrTcpProtocol as type, convert the parser to use
virXMLPropEnum and fix one switch statement in the VMX driver.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/conf/domain_conf.c | 11 +++--------
 src/conf/domain_conf.h |  2 +-
 src/vmx/vmx.c          |  7 +++----
 3 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index cf4b1b2aef..7f6a91c427 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -10282,18 +10282,13 @@ static int
 virDomainChrSourceDefParseProtocol(virDomainChrSourceDef *def,
                                    xmlNodePtr protocol)
 {
-    g_autofree char *prot = NULL;
-
     if (def->type != VIR_DOMAIN_CHR_TYPE_TCP)
         return 0;

-    if ((prot = virXMLPropString(protocol, "type")) &&
-        (def->data.tcp.protocol =
-         virDomainChrTcpProtocolTypeFromString(prot)) < 0) {
-        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                       _("Unknown protocol '%1$s'"), prot);
+    if (virXMLPropEnum(protocol, "type",
+                       virDomainChrTcpProtocolTypeFromString,
+                       VIR_XML_PROP_NONE, &def->data.tcp.protocol) < 0)
         return -1;
-    }

     return 0;
 }
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 659299bdd1..a15af4fae3 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1339,7 +1339,7 @@ struct _virDomainChrSourceDef {
             char *host;
             char *service;
             bool listen;
-            int protocol;
+            virDomainChrTcpProtocol protocol;
             bool tlscreds;
             virTristateBool haveTLS;
             bool tlsFromConfig;
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index de16c1f634..132e54e15f 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -4203,10 +4203,9 @@ virVMXFormatSerial(virVMXContext *ctx, virDomainChrDef *def,
             break;

           default:
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                           _("Unsupported character device TCP protocol '%1$s'"),
-                           virDomainChrTcpProtocolTypeToString(
-                               def->source->data.tcp.protocol));
+          case VIR_DOMAIN_CHR_TCP_PROTOCOL_LAST:
+            virReportEnumRangeError(virDomainChrTcpProtocol,
+                                    def->source->data.tcp.protocol);
             return -1;
         }

-- 
2.46.0




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux