+ if (tmp)
+ {
+ *tmp = *addr;
+ list_add_tail(&tmp->list, all);
+ }
+ }
+ else
+ {
+ list_for_each_entry(net, &zone->networks, list)
+ fw3_ubus_address(all, net->name);
+
+ list_for_each_entry(cur, &zone->subnets, list)
+ {
+ tmp = malloc(sizeof(*tmp));