child = fr_dlist_talloc_free_item(&ci->children, child);
}
}
+
+void _cf_canonicalize_error(CONF_ITEM *ci, ssize_t slen, char const *msg, char const *str)
+{
+ char *spaces, *text;
+
+ fr_canonicalize_error(ci, &spaces, &text, slen, str);
+
+ cf_log_err(ci, "%s", msg);
+ cf_log_err(ci, "%s", text);
+ cf_log_perr(ci, "%s^", spaces);
+
+ talloc_free(spaces);
+ talloc_free(text);
+}
#define cf_debug(_cf) _cf_debug(CF_TO_ITEM(_cf))
void _cf_debug(CONF_ITEM const *ci);
+
+#define cf_canonicalize_error(_ci, _slen, _msg, _str) _cf_canonicalize_error(CF_TO_ITEM(_ci), _slen, _msg, _str)
+void _cf_canonicalize_error(CONF_ITEM *ci, ssize_t slen, char const *msg, char const *str);
+
#ifdef __cplusplus
}
#endif