From: Alan T. DeKok Date: Thu, 14 Dec 2023 00:01:33 +0000 (-0500) Subject: add cf_ wrapper for fr_canonicalize_error() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c70bbfc5e998b3dafc783b1f53b0ef7e1dfcd000;p=thirdparty%2Ffreeradius-server.git add cf_ wrapper for fr_canonicalize_error() --- diff --git a/src/lib/server/cf_util.c b/src/lib/server/cf_util.c index c92a3a0735a..60fedc7e391 100644 --- a/src/lib/server/cf_util.c +++ b/src/lib/server/cf_util.c @@ -2339,3 +2339,17 @@ void cf_item_free_children(CONF_ITEM *ci) 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); +} diff --git a/src/lib/server/cf_util.h b/src/lib/server/cf_util.h index 0b3f2923367..3eddaf0d774 100644 --- a/src/lib/server/cf_util.h +++ b/src/lib/server/cf_util.h @@ -336,6 +336,10 @@ void _cf_log_perr_by_child(fr_log_type_t type, CONF_SECTION const *parent, char #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