From patchwork Wed Jun 26 11:37:12 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arturo Borrero X-Patchwork-Id: 254721 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 73AC22C0085 for ; Wed, 26 Jun 2013 21:37:40 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752097Ab3FZLhV (ORCPT ); Wed, 26 Jun 2013 07:37:21 -0400 Received: from smtp3.cica.es ([150.214.5.190]:54694 "EHLO smtp.cica.es" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751941Ab3FZLhU (ORCPT ); Wed, 26 Jun 2013 07:37:20 -0400 Received: from localhost (unknown [127.0.0.1]) by smtp.cica.es (Postfix) with ESMTP id 4CA2D51ED32; Wed, 26 Jun 2013 11:37:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at cica.es Received: from smtp.cica.es ([127.0.0.1]) by localhost (mail.cica.es [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9FJUg24jeCIv; Wed, 26 Jun 2013 13:37:14 +0200 (CEST) Received: from nfdev.cica.es (nfdev.cica.es [IPv6:2a00:9ac0:c1ca:31::220]) by smtp.cica.es (Postfix) with ESMTP id 19D2C51ED2C; Wed, 26 Jun 2013 13:37:14 +0200 (CEST) Subject: [libnftables PATCH 13/21] data_reg: xml: len node shows byte length To: netfilter-devel@vger.kernel.org From: Arturo Borrero Gonzalez Cc: pablo@netfilter.org Date: Wed, 26 Jun 2013 13:37:12 +0200 Message-ID: <20130626113711.23511.78782.stgit@nfdev.cica.es> In-Reply-To: <20130626113509.23511.14359.stgit@nfdev.cica.es> References: <20130626113509.23511.14359.stgit@nfdev.cica.es> User-Agent: StGit/0.15 MIME-Version: 1.0 Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org Previous to this patch, the node was 'how many nodes we have'. Now, the node means 'how many bytes are in nodes'. Signed-off-by: Arturo Borrero Gonzalez --- src/expr/data_reg.c | 13 ++++++------- test/nft-rule-xml-add.sh | 8 ++++---- 2 files changed, 10 insertions(+), 11 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c index 5eb7f38..b8b8d66 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c @@ -132,7 +132,7 @@ static int nft_data_reg_value_xml_parse(union nft_data_reg *reg, char *xml) { mxml_node_t *tree = NULL; mxml_node_t *node = NULL; - int i, len; + int i; int64_t tmp; uint64_t utmp; char *endptr; @@ -152,7 +152,7 @@ static int nft_data_reg_value_xml_parse(union nft_data_reg *reg, char *xml) /* * - * 4 + * 16 * 0xc09a002a * 0x2700cac1 * 0x00000000 @@ -183,11 +183,11 @@ static int nft_data_reg_value_xml_parse(union nft_data_reg *reg, char *xml) mxmlDelete(tree); return -1; } - /* maybe also (len < 1 || len > 4) */ - len = tmp; + + reg->len = tmp; /* Get and set */ - for (i = 0; i < len; i++) { + for (i = 0; i < reg->len/sizeof(uint32_t); i++) { sprintf(node_name, "data%d", i); node = mxmlFindElement(tree, tree, node_name, NULL, @@ -205,7 +205,6 @@ static int nft_data_reg_value_xml_parse(union nft_data_reg *reg, char *xml) reg->val[i] = utmp; } - reg->len = sizeof(reg->val); mxmlDelete(tree); return 0; @@ -265,7 +264,7 @@ int nft_data_reg_value_snprintf_xml(char *buf, size_t size, ret = snprintf(buf, len, ""); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, len, "%d", data_len); + ret = snprintf(buf+offset, len, "%zd", reg->len); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); for (i=0; ieq - 1 + 4 0x04000000 @@ -62,7 +62,7 @@ XML="eq - 1 + 4 0x96d60496 @@ -78,7 +78,7 @@ XML="eq - 1 + 4 0x96d60329 @@ -94,7 +94,7 @@ XML="eq - 1 + 4 0x06000000