Add functions that return the logged string.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2638 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-07-27 02:47:13 +00:00
parent 4ef64befd4
commit 82f9752143

View File

@@ -42,31 +42,50 @@ RCSID("$Id$");
extern char *logfile;
extern int loglevel;
char*
kdc_log_msg_va(int level, const char *fmt, va_list ap)
{
FILE *f;
char *s;
if(level > loglevel)
return NULL;
if(logfile == NULL)
return NULL;
f = fopen(logfile, "a");
if(f == NULL)
return NULL;
vasprintf(&s, fmt, ap);
if(s){
char buf[128];
strftime(buf, sizeof(buf), "%d-%b-%Y %H:%M:%S", localtime(&kdc_time));
fprintf(f, "%s %s\n", buf, s);
}
fclose(f);
return s;
}
char*
kdc_log_msg(int level, const char *fmt, ...)
{
va_list ap;
char *s;
va_start(ap, fmt);
s = kdc_log_msg_va(level, fmt, ap);
va_end(ap);
return s;
}
void
kdc_log(int level, const char *fmt, ...)
{
va_list ap;
FILE *f;
char buf[128];
char *s;
if(level > loglevel)
return;
if(logfile == NULL)
return;
f = fopen(logfile, "a");
if(f == NULL)
return;
va_start(ap, fmt);
vasprintf(&s, fmt, ap);
s = kdc_log_msg_va(level, fmt, ap);
if(s) free(s);
va_end(ap);
if(s == NULL)
return;
strftime(buf, sizeof(buf), "%d-%b-%Y %H:%M:%S", localtime(&kdc_time));
fprintf(f, "%s %s\n", buf, s);
fclose(f);
free(s);
}