diff options
author | Ana Rey <anarey@gmail.com> | 2014-06-03 12:41:55 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-06-05 15:03:21 +0200 |
commit | 131b5b7801d6801dbf57b6ae3e85b3c2a10cacac (patch) | |
tree | a9bd5dfd9e5f7e7318955d1882e5e60adf62efcb /src | |
parent | ff16877700003eb72c3069a338fa4ed3d56ab75b (diff) |
expr: log: Use nft_rule_expr_set_* in the xml parsing code
Code refactoring to use nft_rule_expr_set_* in parse functions.
Signed-off-by: Ana Rey <anarey@gmail.com>
Suggested-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/expr/log.c | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/src/expr/log.c b/src/expr/log.c index e88ee39..497d5a3 100644 --- a/src/expr/log.c +++ b/src/expr/log.c @@ -204,37 +204,31 @@ static int nft_rule_expr_log_xml_parse(struct nft_rule_expr *e, struct nft_parse_err *err) { #ifdef XML_PARSING - struct nft_expr_log *log = nft_expr_data(e); const char *prefix; + uint32_t snaplen; + uint16_t group, qthreshold; prefix = nft_mxml_str_parse(tree, "prefix", MXML_DESCEND_FIRST, NFT_XML_MAND, err); if (prefix == NULL) return -1; - - log->prefix = strdup(prefix); - e->flags |= (1 << NFT_EXPR_LOG_PREFIX); + nft_rule_expr_set_str(e, NFT_EXPR_LOG_PREFIX, prefix); if (nft_mxml_num_parse(tree, "group", MXML_DESCEND_FIRST, BASE_DEC, - &log->group, NFT_TYPE_U16, NFT_XML_MAND, - err) != 0) + &group, NFT_TYPE_U16, NFT_XML_MAND, err) < 0) return -1; - - e->flags |= (1 << NFT_EXPR_LOG_GROUP); + nft_rule_expr_set_u16(e, NFT_EXPR_LOG_GROUP, group); if (nft_mxml_num_parse(tree, "snaplen", MXML_DESCEND_FIRST, BASE_DEC, - &log->snaplen, NFT_TYPE_U32, NFT_XML_MAND, - err) != 0) + &snaplen, NFT_TYPE_U32, NFT_XML_MAND, err) < 0) return -1; + nft_rule_expr_set_u32(e, NFT_EXPR_LOG_SNAPLEN, snaplen); - e->flags |= (1 << NFT_EXPR_LOG_SNAPLEN); - - if (nft_mxml_num_parse(tree, "qthreshold", MXML_DESCEND_FIRST, - BASE_DEC, &log->qthreshold, - NFT_TYPE_U16, NFT_XML_MAND, err) != 0) + if (nft_mxml_num_parse(tree, "qthreshold", MXML_DESCEND_FIRST, BASE_DEC, + &qthreshold, NFT_TYPE_U16, NFT_XML_MAND, + err) < 0) return -1; - - e->flags |= (1 << NFT_EXPR_LOG_QTHRESHOLD); + nft_rule_expr_set_u16(e, NFT_EXPR_LOG_QTHRESHOLD, qthreshold); return 0; #else |