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

* 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

On Fri, Jul 10, 2009 at 09:35:52AM +0100, Mark McLoughlin wrote:
* 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(-)
ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
participants (2)
-
Daniel P. Berrange
-
Mark McLoughlin