}
void manager_free(Manager *m) {
- RoutingPolicyRule *rule;
Network *network;
NetDev *netdev;
Link *link;
set_free(m->rules);
set_free(m->rules_foreign);
- while ((rule = set_steal_first(m->rules_saved)))
- free(rule);
-
- set_free(m->rules_saved);
+ set_free_with_destructor(m->rules_saved, routing_policy_rule_free);
sd_netlink_unref(m->rtnl);
sd_event_unref(m->event);
const char *cmd;
int fd, fd2, fd3;
_cleanup_fclose_ FILE *f = NULL, *f2 = NULL, *f3 = NULL;
- _cleanup_set_free_free_ Set *rules = NULL;
+ Set *rules = NULL;
_cleanup_free_ char *buf = NULL;
size_t buf_size;
cmd = strjoina("diff -u ", pattern3, " ", pattern2);
log_info("$ %s", cmd);
assert_se(system(cmd) == 0);
+
+ set_free_with_destructor(rules, routing_policy_rule_free);
}
int main(int argc, char **argv) {