From 95226db8e406f381fd3df1cb6950dd6fec2ac5fc Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 15 Apr 2020 11:34:04 +0200 Subject: [PATCH] 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. --- src/checks.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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(). -- 2.47.3