list_for_each_entry(type, &s->datatypes, list)
{
- sprintf(buf, "%s_%s", type->dest ? "dst" : "src",
- fw3_ipset_type_names[type->type]);
-
+ sprintf(buf, "%s_%s", type->dir, fw3_ipset_type_names[type->type]);
ptr.o = NULL;
ptr.option = "match";
ptr.value = buf;
free(obj);
}
+void
+fw3_free_list(struct list_head *head)
+{
+ struct list_head *entry, *tmp;
+
+ if (!head)
+ return;
+
+ list_for_each_safe(entry, tmp, head)
+ {
+ list_del(entry);
+ free(entry);
+ }
+
+ free(head);
+}
bool
fw3_hotplug(bool add, void *zone, void *device)