From f4befc129827632209779c71d804f6139ac03541 Mon Sep 17 00:00:00 2001 From: Arturo Borrero Gonzalez Date: Fri, 13 Sep 2013 14:05:51 +0200 Subject: src: xml: add parsing optional/mandatory flag Add an optional/mandatory flag to XML parsing. In some elements (ie regs), no flag is used because is always mandatory. DATA_NONE is created to indicate a non-parsed data_reg. Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- src/expr/byteorder.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/expr/byteorder.c') diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c index 0277812..1034a31 100644 --- a/src/expr/byteorder.c +++ b/src/expr/byteorder.c @@ -260,7 +260,7 @@ nft_rule_expr_byteorder_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree) byteorder->dreg = reg; e->flags |= (1 << NFT_EXPR_BYTEORDER_DREG); - op = nft_mxml_str_parse(tree, "op", MXML_DESCEND_FIRST); + op = nft_mxml_str_parse(tree, "op", MXML_DESCEND_FIRST, NFT_XML_MAND); if (op == NULL) return -1; @@ -272,13 +272,15 @@ nft_rule_expr_byteorder_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree) e->flags |= (1 << NFT_EXPR_BYTEORDER_OP); if (nft_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC, - &byteorder->len, NFT_TYPE_U8) != 0) + &byteorder->len, NFT_TYPE_U8, + NFT_XML_MAND) != 0) return -1; e->flags |= (1 << NFT_EXPR_BYTEORDER_LEN); if (nft_mxml_num_parse(tree, "size", MXML_DESCEND_FIRST, BASE_DEC, - &byteorder->size, NFT_TYPE_U8) != 0) + &byteorder->size, NFT_TYPE_U8, + NFT_XML_MAND) != 0) return -1; e->flags |= (1 << NFT_EXPR_BYTEORDER_SIZE); -- cgit v1.2.3