From 2026f7d056679508f8506fbba7f578aa15af7c05 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 12 Jul 2021 16:32:27 +0200 Subject: [PATCH] json: Simplify non-tcpopt exthdr printing a bit Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1979334 Upstream Status: nftables commit fd81d3ec3ae8b commit fd81d3ec3ae8b8d1d54a708d63b2dab2c8508c90 Author: Phil Sutter Date: Tue May 4 13:18:11 2021 +0200 json: Simplify non-tcpopt exthdr printing a bit This was just duplicate code apart from the object's name. Signed-off-by: Phil Sutter --- src/json.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/json.c b/src/json.c index b77c6d2..a6d0716 100644 --- a/src/json.c +++ b/src/json.c @@ -684,21 +684,17 @@ json_t *exthdr_expr_json(const struct expr *expr, struct output_ctx *octx) return json_pack("{s:o}", "tcp option", root); } - if (expr->exthdr.op == NFT_EXTHDR_OP_IPV4) { - root = json_pack("{s:s}", "name", desc); - if (!is_exists) - json_object_set_new(root, "field", json_string(field)); - - return json_pack("{s:o}", "ip option", root); - } - - root = json_pack("{s:s}", - "name", desc); + root = json_pack("{s:s}", "name", desc); if (!is_exists) json_object_set_new(root, "field", json_string(field)); - return json_pack("{s:o}", "exthdr", root); + switch (expr->exthdr.op) { + case NFT_EXTHDR_OP_IPV4: + return json_pack("{s:o}", "ip option", root); + default: + return json_pack("{s:o}", "exthdr", root); + } } json_t *verdict_expr_json(const struct expr *expr, struct output_ctx *octx) -- 2.31.1