MINOR: checks: Add a reverse non-comment rule iterator to get last rule

the get_last_tcpcheck_rule() function iters on a rule list in the reverse order
and returns the first non comment and non action-kw rule. If no such rule is
found, NULL is returned.
This commit is contained in:
Christopher Faulet 2020-04-15 11:34:04 +02:00
parent 5eb96cbcbc
commit 95226db8e4

View File

@ -1125,6 +1125,20 @@ static struct tcpcheck_rule *get_first_tcpcheck_rule(struct tcpcheck_rules *rule
return NULL;
}
/* returns the last NON-COMMENT tcp-check rule from list <list> or NULL if none
* was found.
*/
static struct tcpcheck_rule *get_last_tcpcheck_rule(struct tcpcheck_rules *rules)
{
struct tcpcheck_rule *r;
list_for_each_entry_rev(r, rules->list, list) {
if (r->action != TCPCHK_ACT_COMMENT && r->action != TCPCHK_ACT_ACTION_KW)
return r;
}
return NULL;
}
/* returns the NON-COMMENT tcp-check rule from list <list> following <start> or
* NULL if non was found. If <start> is NULL, it relies on
* get_first_tcpcheck_rule().