Get log stream
[petitboot] / lib / log / log.c
index e006fd0b1495c34867648ae58ff047113de751a6..697af6c0760ec612d328f03de59ee7be1a86b1a2 100644 (file)
@@ -4,6 +4,7 @@
 #include "log.h"
 
 static FILE *logf;
+static int always_flush;
 
 void pb_log(const char *fmt, ...)
 {
@@ -15,9 +16,23 @@ void pb_log(const char *fmt, ...)
        va_start(ap, fmt);
        vfprintf(stream, fmt, ap);
        va_end(ap);
+
+       if (always_flush)
+               fflush(stream);
 }
 
 void pb_log_set_stream(FILE *stream)
 {
+       fflush(logf ? logf : stdout);
        logf = stream;
 }
+
+FILE * pb_log_get_stream(void)
+{
+       return logf;
+}
+
+void pb_log_always_flush(int state)
+{
+       always_flush = state;
+}