From 19cd540390e32f2e1f62e205ddb691d1e6e06152 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Wed, 12 Jul 2017 14:14:16 +0200 Subject: src: Allow passing the parent set to set_expr_alloc() Usually one wants to at least initialize set_flags from the parent, so make allocation of a set's set expression more convenient. The idea to do this came when fixing an issue with output formatting of larger anonymous sets in nft monitor: Since netlink_events_cache_addset() didn't initialize set_flags, calculate_delim() didn't detect it's an anonymous set and therefore added newlines to the output. Reported-by: Arturo Borrero Gonzalez Fixes: a9dc3ceabc10f ("expression: print sets and maps in pretty format") Signed-off-by: Phil Sutter Acked-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- include/expression.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/expression.h b/include/expression.h index 3e67938a..68a36e8a 100644 --- a/include/expression.h +++ b/include/expression.h @@ -409,7 +409,8 @@ extern struct expr *concat_expr_alloc(const struct location *loc); extern struct expr *list_expr_alloc(const struct location *loc); -extern struct expr *set_expr_alloc(const struct location *loc); +extern struct expr *set_expr_alloc(const struct location *loc, + const struct set *set); extern int set_to_intervals(struct list_head *msgs, struct set *set, struct expr *init, bool add); extern void interval_map_decompose(struct expr *set); -- cgit v1.2.3