diff options
Diffstat (limited to 'filter/filter-context.c')
-rw-r--r-- | filter/filter-context.c | 12 |
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); |