]> git.ozlabs.org Git - petitboot/blob - lib/log/log.c
discover: Fix boot with initrd error
[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 : stderr;
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 : stderr);
27         logf = stream;
28 }
29
30 FILE * pb_log_get_stream(void)
31 {
32         return logf ? logf : stderr;
33 }
34
35 void pb_log_always_flush(int state)
36 {
37         always_flush = state;
38 }