chain y { type filter hook output priority filter; policy accept; update @xyz{ ip daddr } ^^ Missing space between set reference and the element statement. This does not break restoring the ruleset but it is inconsistent to the viewer. There is also an extra space after the element statement that is enclosed in brackets. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- src/statement.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/statement.c b/src/statement.c index 3040476fdfa1..cec83c19e529 100644 --- a/src/statement.c +++ b/src/statement.c @@ -630,7 +630,7 @@ static void set_stmt_print(const struct stmt *stmt, struct output_ctx *octx) expr_print(stmt->set.set, octx); nft_print(octx, " { "); expr_print(stmt->set.key, octx); - nft_print(octx, " } "); + nft_print(octx, " }"); } static void set_stmt_destroy(struct stmt *stmt) @@ -656,11 +656,11 @@ static void map_stmt_print(const struct stmt *stmt, struct output_ctx *octx) { nft_print(octx, "%s ", set_stmt_op_names[stmt->map.op]); expr_print(stmt->map.set, octx); - nft_print(octx, "{ "); + nft_print(octx, " { "); expr_print(stmt->map.map->map->key, octx); nft_print(octx, " : "); expr_print(stmt->map.map->mappings, octx); - nft_print(octx, " } "); + nft_print(octx, " }"); } static void map_stmt_destroy(struct stmt *stmt) -- 2.11.0