From: Alan T. DeKok Date: Wed, 24 Dec 2025 16:17:10 +0000 (-0500) Subject: hoist "is attribute request/reply/control/" checks to common function X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dde7a0fef59623c7d1a3f0d96771008876882bda;p=thirdparty%2Ffreeradius-server.git hoist "is attribute request/reply/control/" checks to common function --- diff --git a/src/lib/server/pairmove.c b/src/lib/server/pairmove.c index ac841b8bca7..d945598cf34 100644 --- a/src/lib/server/pairmove.c +++ b/src/lib/server/pairmove.c @@ -574,10 +574,7 @@ int radius_legacy_map_apply(request_t *request, map_t const *map, fr_edit_list_t /* * We don't delete the main lists, we just modify their contents. */ - if ((da == request_attr_request) || - (da == request_attr_reply) || - (da == request_attr_control) || - (da == request_attr_state)) { + if (request_attr_is_list(da)) { fr_assert(vp != NULL); if (fr_edit_list_free_pair_children(el, vp) < 0) return -1; diff --git a/src/lib/server/request.h b/src/lib/server/request.h index 8f077da529b..292c6f79d79 100644 --- a/src/lib/server/request.h +++ b/src/lib/server/request.h @@ -359,6 +359,15 @@ void request_log_prepend(request_t *request, fr_log_t *log, fr_log_lvl_t lvl); void request_verify(char const *file, int line, request_t const *request); /* only for special debug builds */ #endif +static inline bool request_attr_is_list(fr_dict_attr_t const *da) +{ + return (da == request_attr_request) || + (da == request_attr_reply) || + (da == request_attr_control) || + (da == request_attr_state) || + (da == request_attr_local); +} + #ifdef __cplusplus } #endif diff --git a/src/lib/server/tmpl.h b/src/lib/server/tmpl.h index effba9cb700..178fe4c86af 100644 --- a/src/lib/server/tmpl.h +++ b/src/lib/server/tmpl.h @@ -684,11 +684,7 @@ static inline bool tmpl_attr_is_list_attr(tmpl_attr_t const *ar) { if (!ar || !ar_is_normal(ar)) return false; - return (ar->ar_da == request_attr_request) || - (ar->ar_da == request_attr_reply) || - (ar->ar_da == request_attr_control) || - (ar->ar_da == request_attr_state) || - (ar->ar_da == request_attr_local); + return request_attr_is_list(ar->ar_da); } /** Return true if the head attribute reference is a list reference