[libvirt] [PATCH] Use virDomainChrTypeFromString() instead of open coding

Mark McLoughlin markmc at redhat.com
Fri Jul 10 08:35:52 UTC 2009


* src/domain_conf.c: replace open coded chr type parsing with
  virDomainChrTypeFromString(), retaining the existing semantics
  where unknown types are silently mapped to the "null" type and
  "pty" is used if none is specified
---
 src/domain_conf.c |   29 ++++-------------------------
 1 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/src/domain_conf.c b/src/domain_conf.c
index 0407207..4056a86 100644
--- a/src/domain_conf.c
+++ b/src/domain_conf.c
@@ -1204,32 +1204,11 @@ virDomainChrDefParseXML(virConnectPtr conn,
         return NULL;
     }
 
-    def->type = VIR_DOMAIN_CHR_TYPE_PTY;
     type = virXMLPropString(node, "type");
-    if (type != NULL) {
-        if (STREQ(type, "null"))
-            def->type = VIR_DOMAIN_CHR_TYPE_NULL;
-        else if (STREQ(type, "vc"))
-            def->type = VIR_DOMAIN_CHR_TYPE_VC;
-        else if (STREQ(type, "pty"))
-            def->type = VIR_DOMAIN_CHR_TYPE_PTY;
-        else if (STREQ(type, "dev"))
-            def->type = VIR_DOMAIN_CHR_TYPE_DEV;
-        else if (STREQ(type, "file"))
-            def->type = VIR_DOMAIN_CHR_TYPE_FILE;
-        else if (STREQ(type, "pipe"))
-            def->type = VIR_DOMAIN_CHR_TYPE_PIPE;
-        else if (STREQ(type, "stdio"))
-            def->type = VIR_DOMAIN_CHR_TYPE_STDIO;
-        else if (STREQ(type, "udp"))
-            def->type = VIR_DOMAIN_CHR_TYPE_UDP;
-        else if (STREQ(type, "tcp"))
-            def->type = VIR_DOMAIN_CHR_TYPE_TCP;
-        else if (STREQ(type, "unix"))
-            def->type = VIR_DOMAIN_CHR_TYPE_UNIX;
-        else
-            def->type = VIR_DOMAIN_CHR_TYPE_NULL;
-    }
+    if (type == NULL)
+        def->type = VIR_DOMAIN_CHR_TYPE_PTY;
+    else if ((def->type = virDomainChrTypeFromString(type)) < 0)
+        def->type = VIR_DOMAIN_CHR_TYPE_NULL;
 
     cur = node->children;
     while (cur != NULL) {
-- 
1.6.2.5




More information about the libvir-list mailing list