]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
hoist "is attribute request/reply/control/" checks to common function
authorAlan T. DeKok <aland@freeradius.org>
Wed, 24 Dec 2025 16:17:10 +0000 (11:17 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 24 Dec 2025 19:38:43 +0000 (14:38 -0500)
src/lib/server/pairmove.c
src/lib/server/request.h
src/lib/server/tmpl.h

index ac841b8bca785fa2bf692604dc3162f261297ef6..d945598cf34745f34e3849eb7601dc69802d83d9 100644 (file)
@@ -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;
index 8f077da529b71201adfb9a483fa3e426c60a4a64..292c6f79d794d0584399e191feb130b68808c24a 100644 (file)
@@ -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
index effba9cb700aaddff3c1f0188e8638418ad91295..178fe4c86af89cb01c7036c0ffa7d42061cf3960 100644 (file)
@@ -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