aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-context.c
diff options
context:
space:
mode:
Diffstat (limited to 'filter/filter-context.c')
-rw-r--r--filter/filter-context.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/filter/filter-context.c b/filter/filter-context.c
index 701010fde9..c31eba205a 100644
--- a/filter/filter-context.c
+++ b/filter/filter-context.c
@@ -126,12 +126,22 @@ void filter_context_add_action(FilterContext *f, FilterPart *action)
f->actions = g_list_append(f->actions, action);
}
-FilterPart *filter_context_find_action(FilterContext *f, char *name)
+FilterPart *filter_context_find_action(FilterContext *f, const char *name)
{
d(printf("find action : "));
return filter_part_find_list(f->actions, name);
}
+FilterPart *filter_context_create_action(FilterContext *f, const char *name)
+{
+ FilterPart *part;
+
+ part = filter_context_find_action(f, name);
+ if (part)
+ part = filter_part_clone(part);
+ return part;
+}
+
FilterPart *filter_context_next_action(FilterContext *f, FilterPart *last)
{
return filter_part_next_list(f->actions, last);