From ec4b60bebcab23d46aa09bed06018457c35e5afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Neira=20Ayuso?= Date: Sun, 13 Oct 2013 21:52:34 +0200 Subject: src: json: remove spaces Remove all the spaces from the JSON output to reduce the size of the output string, this also provides a consistent output in table, chain, rule and set. As Stephen Hemminger suggested, better to squash the output to consume as less bytes as possible. Signed-off-by: Alvaro Neira Ayuso Signed-off-by: Pablo Neira Ayuso --- src/rule.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/rule.c') diff --git a/src/rule.c b/src/rule.c index 7f2bce6..50f4486 100644 --- a/src/rule.c +++ b/src/rule.c @@ -705,37 +705,35 @@ static int nft_rule_snprintf_json(char *buf, size_t size, struct nft_rule *r, int ret, len = size, offset = 0; struct nft_rule_expr *expr; - ret = snprintf(buf, len, - "{ \"rule\": { \"family\" : \"%s\", \"table\" : \"%s\", " - "\"chain\" : \"%s\", \"handle\" : %llu,", + ret = snprintf(buf, len, "{\"rule\":{\"family\":\"%s\",\"table\":\"%s\"," + "\"chain\":\"%s\",\"handle\":%llu,", nft_family2str(r->family), r->table, r->chain, (unsigned long long)r->handle); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, len, "\"flags\" : %u, ", r->rule_flags); + ret = snprintf(buf+offset, len, "\"flags\":%u,", r->rule_flags); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); if (r->flags & (1 << NFT_RULE_ATTR_COMPAT_PROTO) || r->flags & (1 << NFT_RULE_ATTR_COMPAT_FLAGS)) { - ret = snprintf(buf+offset, len, "\"compat_flags\" : %u, " - "\"compat_proto\" : %u, ", + ret = snprintf(buf+offset, len, "\"compat_flags\":%u," + "\"compat_proto\":%u,", r->compat.flags, r->compat.proto); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); } if (r->flags & (1 << NFT_RULE_ATTR_POSITION)) { - ret = snprintf(buf+offset, len, - "\"position\" : %"PRIu64", ", + ret = snprintf(buf+offset, len, "\"position\":%"PRIu64",", r->position); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); } - ret = snprintf(buf+offset, len, "\"expr\" : ["); + ret = snprintf(buf+offset, len, "\"expr\":["); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); list_for_each_entry(expr, &r->expr_list, head) { ret = snprintf(buf+offset, len, - " { \"type\" : \"%s\", ", expr->ops->name); + "{\"type\":\"%s\",", expr->ops->name); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); ret = expr->ops->snprintf(buf+offset, len, type, flags, expr); -- cgit v1.2.3