diff --git a/filter/filter.c b/filter/filter.c index 2cf59e09..76c01197 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -631,10 +631,14 @@ i_same(struct f_inst *f1, struct f_inst *f2) * arguments (a1, a2). Some instructinos contain pointer(s) to other * instructions in their (a1, a2) fields. * - * Filters use structure &f_val for its variables. Each &f_val contains - * type and value. Types are constants prefixed with %T_. Few of types - * are special; %T_RETURN can be or-ed with type to indicate that return - * from function/from whole filter should be forced. + * Filters use structure &f_val for its variables. Each &f_val + * contains type and value. Types are constants prefixed with %T_. Few + * of types are special; %T_RETURN can be or-ed with type to indicate + * that return from function/from whole filter should be + * forced. Important thing about &f_val s is that they may be copied + * with simple =. That's fine for all currently defined types: strings + * are read-only (and therefore okay), paths are copied for each + * operation (okay too). */ int f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool, int flags)