aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-rule.c
diff options
context:
space:
mode:
Diffstat (limited to 'filter/filter-rule.c')
-rw-r--r--filter/filter-rule.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/filter/filter-rule.c b/filter/filter-rule.c
index 663e9d7f81..c5d36d3496 100644
--- a/filter/filter-rule.c
+++ b/filter/filter-rule.c
@@ -138,6 +138,21 @@ filter_rule_new ()
return o;
}
+FilterRule *
+filter_rule_clone(FilterRule *base, RuleContext *f)
+{
+ xmlNodePtr xml;
+ FilterRule *rule;
+
+ /* TODO: do this more directly/efficiently */
+ xml = filter_rule_xml_encode(base);
+ rule = gtk_type_new(((GtkObject *)base)->klass->type);
+ filter_rule_xml_decode(rule, xml, f);
+ xmlFreeNodeList(xml);
+
+ return rule;
+}
+
void
filter_rule_set_name (FilterRule *fr, const char *name)
{