On Thu, Jun 15, 2017 at 3:16 PM, Pablo Neira Ayuso wrote: > On Thu, Jun 15, 2017 at 01:01:57AM +0530, Varsha Rao wrote: >> diff --git a/include/datatype.h b/include/datatype.h >> index 04b7d88..748688e 100644 >> --- a/include/datatype.h >> +++ b/include/datatype.h >> @@ -145,7 +145,8 @@ struct datatype { >> const char *desc; >> const struct datatype *basetype; >> const char *basefmt; >> - void (*print)(const struct expr *expr); >> + void (*print)(const struct expr *expr, >> + struct print_ctx *ct); > > Could you use: > > struct print_ctx *pctx > > instead? > > 'ct' usually refers to the connection tracking system (ct) in our > codebase, so I would prefer we have a different variable name. > > This applies everywhere in this patch. Okay, I will change it. > >> --- a/include/expression.h >> +++ b/include/expression.h >> @@ -157,7 +157,8 @@ struct expr_ops { >> void (*set_type)(const struct expr *expr, >> const struct datatype *dtype, >> enum byteorder byteorder); >> - void (*print)(const struct expr *expr); >> + void (*print)(const struct expr *expr, >> + struct print_ctx *ct); >> bool (*cmp)(const struct expr *e1, >> const struct expr *e2); >> void (*pctx_update)(struct proto_ctx *ctx, >> @@ -330,7 +331,7 @@ extern struct expr *expr_alloc(const struct location *loc, >> extern struct expr *expr_clone(const struct expr *expr); >> extern struct expr *expr_get(struct expr *expr); >> extern void expr_free(struct expr *expr); >> -extern void expr_print(const struct expr *expr); >> +extern void expr_print(const struct expr *expr, struct print_ctx *ct); >> extern bool expr_cmp(const struct expr *e1, const struct expr *e2); >> extern void expr_describe(const struct expr *expr); >> >> @@ -410,7 +411,7 @@ extern struct expr *list_expr_alloc(const struct location *loc); >> >> extern struct expr *set_expr_alloc(const struct location *loc); >> extern int set_to_intervals(struct list_head *msgs, struct set *set, >> - struct expr *init, bool add); >> + struct expr *init, bool add, struct print_ctx *ct); > > Why do we need this? I think we only need print_ctx for *_print() > functions. In src/segtree.c, set_to_intervals calls expr_print() if segtree_debug() is true and it would cause problem if NULL is passed to expr_print(). Thanks, varsha -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html