*/
void cf_log_err(CONF_ITEM const *ci, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
void cf_log_err_cs(CONF_SECTION const *cs, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
+void cf_log_perr_cs(CONF_SECTION const *cs, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
void cf_log_err_cp(CONF_PAIR const *cp, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
+void cf_log_perr_cp(CONF_PAIR const *cp, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
void cf_log_err_by_name(CONF_SECTION const *parent,
char const *name, char const *fmt, ...) CC_HINT(format (printf, 3, 4));
void cf_log_warn_cp(CONF_PAIR const *cp, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
buffer);
}
+void cf_log_perr_cs(CONF_SECTION const *cs, char const *fmt, ...)
+{
+ va_list ap;
+ char buffer[256];
+
+ va_start(ap, fmt);
+ vsnprintf(buffer, sizeof(buffer), fmt, ap);
+ va_end(ap);
+
+ rad_assert(cs != NULL);
+
+ PERROR("%s[%d]: %s", cs->item.filename, cs->item.lineno, buffer);
+}
+
void cf_log_err_cp(CONF_PAIR const *cp, char const *fmt, ...)
{
va_list ap;
rad_assert(cp != NULL);
- ERROR("%s[%d]: %s",
- cp->item.filename, cp->item.lineno,
- buffer);
+ ERROR("%s[%d]: %s", cp->item.filename, cp->item.lineno, buffer);
+}
+
+void cf_log_perr_cp(CONF_PAIR const *cp, char const *fmt, ...)
+{
+ va_list ap;
+ char buffer[256];
+
+ va_start(ap, fmt);
+ vsnprintf(buffer, sizeof(buffer), fmt, ap);
+ va_end(ap);
+
+ rad_assert(cp != NULL);
+
+ PERROR("%s[%d]: %s", cp->item.filename, cp->item.lineno, buffer);
}
void cf_log_err_by_name(CONF_SECTION const *parent, char const *name, char const *fmt, ...)