/** Print a list of attributes and enumv
*
* @param[in] log to output to.
+ * @param[in] lvl depth in structural attribute.
* @param[in] list to print.
* @param[in] file where the message originated
* @param[in] line where the message originated
*/
void _fr_pair_list_log(fr_log_t const *log, int lvl, fr_pair_list_t const *list, char const *file, int line)
{
- fr_pair_list_t *our_list;
- fr_pair_t *vp;
- fr_cursor_t cursor;
+ fr_pair_t *vp;
- memcpy(&our_list, &list, sizeof(list)); /* const work-arounds */
-
- for (vp = fr_cursor_init(&cursor, our_list); vp; vp = fr_cursor_next(&cursor)) {\
+ for (vp = fr_pair_list_head(list); vp; vp = fr_pair_list_next(list, vp)) { \
switch (vp->da->type) {
case FR_TYPE_STRUCTURAL:
fr_log(log, L_DBG, file, line, "%*s%s {", lvl * 2, "", vp->da->name);