From: Alan T. DeKok Date: Sun, 16 Jul 2023 02:00:29 +0000 (-0400) Subject: move switch to array lookup X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ce4698e81c80c6a17bc5ce8a2195cfd026d5424;p=thirdparty%2Ffreeradius-server.git move switch to array lookup --- diff --git a/src/lib/util/pair.c b/src/lib/util/pair.c index 4e1cb793c2d..f49bc0ad146 100644 --- a/src/lib/util/pair.c +++ b/src/lib/util/pair.c @@ -550,6 +550,7 @@ fr_pair_t *fr_pair_copy(TALLOC_CTX *ctx, fr_pair_t const *vp) if (!n) return NULL; n->op = vp->op; + /* * Copy the unknown attribute hierarchy */ @@ -561,22 +562,18 @@ fr_pair_t *fr_pair_copy(TALLOC_CTX *ctx, fr_pair_t const *vp) } } - /* * Groups are special. */ - switch (n->da->type) { - case FR_TYPE_STRUCTURAL: + if (fr_type_is_structural(n->da->type)) { if (fr_pair_list_copy(n, &n->vp_group, &vp->vp_group) < 0) { talloc_free(n); return NULL; } - return n; - default: - break; + } else { + fr_value_box_copy(n, &n->data, &vp->data); } - fr_value_box_copy(n, &n->data, &vp->data); return n; }