From: Christopher Faulet Date: Wed, 15 Apr 2020 09:34:04 +0000 (+0200) Subject: MINOR: checks: Add a reverse non-comment rule iterator to get last rule X-Git-Tag: v2.2-dev7~105 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95226db8e406f381fd3df1cb6950dd6fec2ac5fc;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/checks.c b/src/checks.c index e43e73224a..8ff6bc83cb 100644 --- a/src/checks.c +++ b/src/checks.c @@ -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 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 following or * NULL if non was found. If is NULL, it relies on * get_first_tcpcheck_rule().