Declare kdc log functions to be printf-like
And add a kdc_vlog() function.
This commit is contained in:
19
kdc/log.c
19
kdc/log.c
@@ -60,10 +60,14 @@ kdc_openlog(krb5_context context,
|
||||
krb5_set_warn_dest(context, config->logf);
|
||||
}
|
||||
|
||||
#undef __attribute__
|
||||
#define __attribute__(X)
|
||||
|
||||
char*
|
||||
kdc_log_msg_va(krb5_context context,
|
||||
krb5_kdc_configuration *config,
|
||||
int level, const char *fmt, va_list ap)
|
||||
__attribute__ ((__format__ (__printf__, 4, 0)))
|
||||
{
|
||||
char *msg;
|
||||
krb5_vlog_msg(context, config->logf, &msg, level, fmt, ap);
|
||||
@@ -74,6 +78,7 @@ char*
|
||||
kdc_log_msg(krb5_context context,
|
||||
krb5_kdc_configuration *config,
|
||||
int level, const char *fmt, ...)
|
||||
__attribute__ ((__format__ (__printf__, 4, 5)))
|
||||
{
|
||||
va_list ap;
|
||||
char *s;
|
||||
@@ -83,15 +88,23 @@ kdc_log_msg(krb5_context context,
|
||||
return s;
|
||||
}
|
||||
|
||||
void
|
||||
kdc_vlog(krb5_context context,
|
||||
krb5_kdc_configuration *config,
|
||||
int level, const char *fmt, va_list ap)
|
||||
__attribute__ ((__format__ (__printf__, 4, 0)))
|
||||
{
|
||||
free(kdc_log_msg_va(context, config, level, fmt, ap));
|
||||
}
|
||||
|
||||
void
|
||||
kdc_log(krb5_context context,
|
||||
krb5_kdc_configuration *config,
|
||||
int level, const char *fmt, ...)
|
||||
__attribute__ ((__format__ (__printf__, 4, 5)))
|
||||
{
|
||||
va_list ap;
|
||||
char *s;
|
||||
va_start(ap, fmt);
|
||||
s = kdc_log_msg_va(context, config, level, fmt, ap);
|
||||
if(s) free(s);
|
||||
free(kdc_log_msg_va(context, config, level, fmt, ap));
|
||||
va_end(ap);
|
||||
}
|
||||
|
Reference in New Issue
Block a user