From: Willy Tarreau Date: Wed, 2 Mar 2022 13:50:38 +0000 (+0100) Subject: BUILD: http_rules: do not declare http_*_keywords_registre() inline X-Git-Tag: v2.6-dev3~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=368479c3fc2183423b777e91e2770035dcc21705;p=thirdparty%2Fhaproxy.git BUILD: http_rules: do not declare http_*_keywords_registre() inline The 3 functions http_{req,res,after_res}_keywords_register() are referenced in initcalls by their pointer, it makes no sense to declare them inline. At best it causes function duplication, at worst it doesn't build on older compilers. --- diff --git a/include/haproxy/http_rules.h b/include/haproxy/http_rules.h index 060e3e80fb..1820bbd8d5 100644 --- a/include/haproxy/http_rules.h +++ b/include/haproxy/http_rules.h @@ -37,20 +37,9 @@ struct act_rule *parse_http_after_res_cond(const char **args, const char *file, struct redirect_rule *http_parse_redirect_rule(const char *file, int linenum, struct proxy *curproxy, const char **args, char **errmsg, int use_fmt, int dir); -static inline void http_req_keywords_register(struct action_kw_list *kw_list) -{ - LIST_APPEND(&http_req_keywords.list, &kw_list->list); -} - -static inline void http_res_keywords_register(struct action_kw_list *kw_list) -{ - LIST_APPEND(&http_res_keywords.list, &kw_list->list); -} - -static inline void http_after_res_keywords_register(struct action_kw_list *kw_list) -{ - LIST_APPEND(&http_after_res_keywords.list, &kw_list->list); -} +void http_req_keywords_register(struct action_kw_list *kw_list); +void http_res_keywords_register(struct action_kw_list *kw_list); +void http_after_res_keywords_register(struct action_kw_list *kw_list); struct action_kw *action_http_req_custom(const char *kw); struct action_kw *action_http_res_custom(const char *kw); diff --git a/src/http_rules.c b/src/http_rules.c index 0d6e165912..2ed9dfc70d 100644 --- a/src/http_rules.c +++ b/src/http_rules.c @@ -50,6 +50,21 @@ struct action_kw_list http_after_res_keywords = { .list = LIST_HEAD_INIT(http_after_res_keywords.list) }; +void http_req_keywords_register(struct action_kw_list *kw_list) +{ + LIST_APPEND(&http_req_keywords.list, &kw_list->list); +} + +void http_res_keywords_register(struct action_kw_list *kw_list) +{ + LIST_APPEND(&http_res_keywords.list, &kw_list->list); +} + +void http_after_res_keywords_register(struct action_kw_list *kw_list) +{ + LIST_APPEND(&http_after_res_keywords.list, &kw_list->list); +} + /* * Return the struct http_req_action_kw associated to a keyword. */