]> Shamusworld >> Repos - virtualjaguar/blob - src/log.cpp
Virtual Jaguar 1.0.5 update (Shamus)
[virtualjaguar] / src / log.cpp
1 //
2 // Log handler
3 //
4 // by cal2
5 // GCC/SDL port by Niels Wagenaar (Linux/WIN32) and Caz (BeOS)
6 // Cleanups/new stuff by James L. Hammons
7 //
8
9 #include "log.h"
10
11 FILE * log_stream = NULL;
12
13 int log_init(char * path)
14 {
15         log_stream = fopen(path, "wrt");
16
17         if (log_stream == NULL)
18                 return 0;
19
20         return 1;
21 }
22
23 FILE * log_get(void)
24 {
25         return log_stream;
26 }
27
28 void log_done(void)
29 {
30         fclose(log_stream);
31 }
32
33 //
34 // This logger is used mainly to ensure that text gets written to the log file
35 // even if the program crashes. The performance hit is acceptable in this case!
36 //
37 //bool suppressOutput = true;//temporary stuff
38 bool suppressOutput = false;//temporary stuff
39 void WriteLog(const char * text, ...)
40 {
41         if (suppressOutput)
42                 return;
43
44         va_list arg;
45
46         va_start(arg, text);
47         vfprintf(log_stream, text, arg);
48         va_end(arg);
49         fflush(log_stream);                                     // Make sure that text is written!
50 }