diff options
Diffstat (limited to 'src/mxml.c')
-rw-r--r-- | src/mxml.c | 46 |
1 files changed, 0 insertions, 46 deletions
@@ -184,50 +184,4 @@ int nft_mxml_family_parse(mxml_node_t *tree, const char *node_name, return family; } - -struct nft_set_elem *nft_mxml_set_elem_parse(mxml_node_t *node) -{ - mxml_node_t *save; - char *set_elem_str; - struct nft_set_elem *elem; - - if (node == NULL) - goto einval; - - if (strcmp(node->value.opaque, "set_elem") != 0) - goto einval; - - elem = nft_set_elem_alloc(); - if (elem == NULL) - goto enomem; - - /* This is a hack for mxml to print just the current node */ - save = node->next; - node->next = NULL; - - set_elem_str = mxmlSaveAllocString(node, MXML_NO_CALLBACK); - node->next = save; - - if (set_elem_str == NULL) { - xfree(elem); - goto enomem; - } - - if (nft_set_elem_parse(elem, NFT_SET_PARSE_XML, - set_elem_str) != 0) { - xfree(set_elem_str); - xfree(elem); - return NULL; - } - - xfree(set_elem_str); - - return elem; -einval: - errno = EINVAL; - return NULL; -enomem: - errno = ENOMEM; - return NULL; -} #endif |