summaryrefslogtreecommitdiffstats
path: root/src/json.c
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2018-06-08 17:27:13 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-06-11 11:31:49 +0200
commitd4bd008be257cc95b2e9625cc5506b9e925c766d (patch)
tree07582fa8e876be57b0ff350c78fcabf072753308 /src/json.c
parent4e20921ea9200453fbfbec0e9dc891ed37b95a6c (diff)
JSON: Call verdict maps 'vmap' in JSON as well
This way JSON format is more consistent with the standard one. Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/json.c b/src/json.c
index b6e6ca9c..306cab7b 100644
--- a/src/json.c
+++ b/src/json.c
@@ -560,7 +560,13 @@ json_t *mapping_expr_json(const struct expr *expr, struct output_ctx *octx)
json_t *map_expr_json(const struct expr *expr, struct output_ctx *octx)
{
- return json_pack("{s:{s:o, s:o}}", "map",
+ const char *type = "map";
+
+ if (expr->mappings->ops->type == EXPR_SET_REF &&
+ expr->mappings->set->datatype->type == TYPE_VERDICT)
+ type = "vmap";
+
+ return json_pack("{s:{s:o, s:o}}", type,
"left", expr_print_json(expr->map, octx),
"right", expr_print_json(expr->mappings, octx));
}