From faa80becc428e089a6a46312d3690fe86a24bc70 Mon Sep 17 00:00:00 2001 From: Arran Cudbard-Bell Date: Mon, 20 Sep 2021 16:27:07 -0500 Subject: [PATCH] Use common code for printing groups --- src/lib/util/value.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/lib/util/value.c b/src/lib/util/value.c index e72c892d61..27292a3d67 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -5087,21 +5087,17 @@ ssize_t fr_value_box_print(fr_sbuff_t *out, fr_value_box_t const *data, fr_sbuff break; case FR_TYPE_GROUP: - { - fr_value_box_t *child = NULL; - ssize_t slen; - + /* + * Represent groups as: + * + * { , , { , , }} + */ FR_SBUFF_IN_CHAR_RETURN(&our_out, '{'); - - while ((child = fr_dlist_next(&data->vb_group, child))) { - slen = fr_value_box_print(&our_out, child, e_rules); - if (slen < 0) return slen; - - if (fr_dlist_next(&data->vb_group, child)) FR_SBUFF_IN_STRCPY_LITERAL_RETURN(&our_out, ", "); - } - + FR_SBUFF_RETURN(fr_value_box_list_concat_as_string, + NULL, &our_out, UNCONST(fr_value_box_list_t *, &data->vb_group), + ", ", (sizeof(", ") - 1), e_rules, + 0, false); FR_SBUFF_IN_CHAR_RETURN(&our_out, '}'); - } break; /* -- 2.47.2