41b44cc10ff9e02aa227d7ae0e4ccd3592052265
[petitboot] / lib / log / log.c
1
2 #include <stdarg.h>
3
4 #include "log.h"
5
6 static FILE *logf;
7 static int always_flush;
8
9 void pb_log(const char *fmt, ...)
10 {
11         va_list ap;
12         FILE *stream;
13
14         stream = logf ? logf : stdout;
15
16         va_start(ap, fmt);
17         vfprintf(stream, fmt, ap);
18         va_end(ap);
19
20         if (always_flush)
21                 fflush(stream);
22 }
23
24 void pb_log_set_stream(FILE *stream)
25 {
26         fflush(logf ? logf : stdout);
27         logf = stream;
28 }
29
30 void pb_log_always_flush(int state)
31 {
32         always_flush = state;
33 }