[libvirt] PATCH: 3/14: Generic domain XML parser/formatter

Jim Meyering jim at meyering.net
Fri Jul 18 16:29:15 UTC 2008


...
> +static virDomainChrDefPtr
> +virDomainChrDefParseXML(virConnectPtr conn,
> +                        xmlNodePtr node) {
> +    xmlNodePtr cur;
> +    char *type = NULL;
> +    char *bindHost = NULL;
> +    char *bindService = NULL;
> +    char *connectHost = NULL;
> +    char *connectService = NULL;
> +    char *path = NULL;
> +    char *mode = NULL;
> +    char *protocol = NULL;
> +    virDomainChrDefPtr def;
> +
> +    if (VIR_ALLOC(def) < 0) {
> +        virDomainReportError(conn, VIR_ERR_NO_MEMORY, NULL);
> +        return NULL;
> +    }
> +
> +    def->type = VIR_DOMAIN_CHR_TYPE_PTY;
> +    type = virXMLPropString(node, "type");
> +    if (type != NULL) {

Looks like this can be replaced with virDomainChrTypeFromString.

> +        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;
> +    }

Otherwise, all looks good.

ACK




More information about the libvir-list mailing list