summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filter/filter.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/filter/filter.c b/filter/filter.c
index 2cf59e0..76c0119 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)