struct proxy *cli_find_frontend(struct appctx *appctx, const char *arg);
int resolve_stick_rule(struct proxy *curproxy, struct sticking_rule *mrule);
void free_stick_rules(struct list *rules);
+void free_server_rules(struct list *srules);
/*
* This function returns a string containing the type of the proxy in a format
}
}
+void free_server_rules(struct list *srules)
+{
+ struct server_rule *srule, *sruleb;
+
+ list_for_each_entry_safe(srule, sruleb, srules, list) {
+ LIST_DELETE(&srule->list);
+ free_acl_cond(srule->cond);
+ free_logformat_list(&srule->expr);
+ free(srule->file);
+ free(srule);
+ }
+}
+
void free_proxy(struct proxy *p)
{
struct server *s;
struct bind_conf *bind_conf, *bind_back;
struct acl_cond *cond, *condb;
struct acl *acl, *aclb;
- struct server_rule *srule, *sruleb;
struct switching_rule *rule, *ruleb;
struct redirect_rule *rdr, *rdrb;
struct logger *log, *logb;
free(acl);
}
- list_for_each_entry_safe(srule, sruleb, &p->server_rules, list) {
- LIST_DELETE(&srule->list);
- free_acl_cond(srule->cond);
- free_logformat_list(&srule->expr);
- free(srule->file);
- free(srule);
- }
+ free_server_rules(&p->server_rules);
list_for_each_entry_safe(rule, ruleb, &p->switching_rules, list) {
LIST_DELETE(&rule->list);