From: Ana Rey <anarey@gmail.com>
To: netfilter-devel@vger.kernel.org
Cc: Ana Rey <anarey@gmail.com>
Subject: [libnftnl PATCH 1/5] expr: queue: Add nft_rule_expr_queue_snprinf_* functions
Date: Fri, 13 Jun 2014 11:31:49 +0200 [thread overview]
Message-ID: <1402651913-15065-2-git-send-email-anarey@gmail.com> (raw)
In-Reply-To: <1402651913-15065-1-git-send-email-anarey@gmail.com>
Code refactoring in nft_rule_expr_queue_snprinf functions. This process
adds three new functions:
* nft_rule_expr_queue_snprinf_default
* nft_rule_expr_queue_snprinf_xml
* nft_rule_expr_queue_snprinf_json
Also, It is delete an unnecesary whitespace as the CodingStyle recommends.
Signed-off-by: Ana Rey <anarey@gmail.com>
---
src/expr/queue.c | 82 +++++++++++++++++++++++++++++++++++---------------------
1 file changed, 51 insertions(+), 31 deletions(-)
diff --git a/src/expr/queue.c b/src/expr/queue.c
index 9f269e7..5dad84a 100644
--- a/src/expr/queue.c
+++ b/src/expr/queue.c
@@ -194,46 +194,66 @@ nft_rule_expr_queue_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree,
#endif
}
-static int
-nft_rule_expr_queue_snprintf(char *buf, size_t len, uint32_t type,
- uint32_t flags, struct nft_rule_expr *e)
+static int nft_rule_expr_queue_snprintf_default(char *buf, size_t len,
+ struct nft_rule_expr *e)
{
struct nft_expr_queue *queue = nft_expr_data(e);
int ret;
int one = 0;
+ ret = snprintf(buf, len, "num %u total %u", queue->queuenum,
+ queue->queues_total);
+ if (queue->flags) {
+ ret += snprintf(buf + ret, len - ret, " options ");
+ if (queue->flags & NFT_QUEUE_FLAG_BYPASS) {
+ ret += snprintf(buf + ret, len - ret, "bypass");
+ one = 1;
+ }
+ if (queue->flags & NFT_QUEUE_FLAG_CPU_FANOUT) {
+ if (one)
+ ret += snprintf(buf + ret, len - ret, ",");
+ ret += snprintf(buf + ret, len - ret, "fanout");
+ }
+ }
+ return ret;
+}
+
+static int nft_rule_expr_queue_snprintf_xml(char *buf, size_t len,
+ struct nft_rule_expr *e)
+{
+ struct nft_expr_queue *queue = nft_expr_data(e);
+
+ return snprintf(buf, len, "<num>%u</num>"
+ "<total>%u</total>"
+ "<flags>%u</flags>",
+ queue->queuenum, queue->queues_total,
+ queue->flags);
+}
+
+static int nft_rule_expr_queue_snprintf_json(char *buf, size_t len,
+ struct nft_rule_expr *e)
+{
+ struct nft_expr_queue *queue = nft_expr_data(e);
+
+ return snprintf(buf, len, "\"num\":%u,"
+ "\"total\":%u,"
+ "\"flags\":%u,",
+ queue->queuenum, queue->queues_total,
+ queue->flags);
+}
+
+static int
+nft_rule_expr_queue_snprintf(char *buf, size_t len, uint32_t type,
+ uint32_t flags, struct nft_rule_expr *e)
+{
+
switch(type) {
case NFT_OUTPUT_DEFAULT:
- ret = snprintf(buf, len, "num %u total %u",
- queue->queuenum, queue->queues_total);
- if (queue->flags) {
- ret += snprintf(buf + ret , len - ret, " options ");
- if (queue->flags & NFT_QUEUE_FLAG_BYPASS) {
- ret += snprintf(buf + ret ,
- len - ret, "bypass");
- one = 1;
- }
- if (queue->flags & NFT_QUEUE_FLAG_CPU_FANOUT) {
- if (one)
- ret += snprintf(buf + ret ,
- len - ret, ",");
- ret += snprintf(buf + ret ,
- len - ret, "fanout");
- }
- }
- return ret;
+ return nft_rule_expr_queue_snprintf_default(buf, len, e);
case NFT_OUTPUT_XML:
- return snprintf(buf, len, "<num>%u</num>"
- "<total>%u</total>"
- "<flags>%u</flags>",
- queue->queuenum, queue->queues_total,
- queue->flags);
+ return nft_rule_expr_queue_snprintf_xml(buf, len, e);
case NFT_OUTPUT_JSON:
- return snprintf(buf, len, "\"num\":%u,"
- "\"total\":%u,"
- "\"flags\":%u,",
- queue->queuenum, queue->queues_total,
- queue->flags);
+ return nft_rule_expr_queue_snprintf_json(buf, len, e);
default:
break;
}
--
2.0.0
next prev parent reply other threads:[~2014-06-13 9:32 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-13 9:31 [libnftnl PATCH 0/5] queue: Do not print unset value Ana Rey
2014-06-13 9:31 ` Ana Rey [this message]
2014-06-13 10:16 ` [libnftnl PATCH 1/5] expr: queue: Add nft_rule_expr_queue_snprinf_* functions Arturo Borrero Gonzalez
2014-06-13 9:31 ` [libnftnl PATCH 2/5] expr: queue: Use nft_rule_expr_* in the xml Ana Rey
2014-06-13 9:31 ` [libnftnl PATCH 3/5] expr: queue: Do not print unset values in xml Ana Rey
2014-06-13 9:31 ` [libnftnl PATCH 4/5] expr: queue: Do not print unset values in json Ana Rey
2014-06-13 9:31 ` [libnftnl PATCH 5/5] expr: queue: Use the correct data type Ana Rey
2014-06-13 10:51 ` [libnftnl PATCH 0/5] queue: Do not print unset value Arturo Borrero Gonzalez
2014-06-16 10:11 ` Pablo Neira Ayuso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1402651913-15065-2-git-send-email-anarey@gmail.com \
--to=anarey@gmail.com \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.