X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flog.cpp;h=cd968ee36f260651ef597bd7b720fafe6aec215b;hb=376e1f69fb9e9360d1f796b35a00227111e63fab;hp=f748183ab1bfd3af24fd3a43072b9a8341bc1737;hpb=0031c06df2f7f099ca5ecf1632f46b92f6b0dd79;p=virtualjaguar diff --git a/src/log.cpp b/src/log.cpp index f748183..cd968ee 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -3,7 +3,7 @@ // // by cal2 // GCC/SDL port by Niels Wagenaar (Linux/WIN32) and Caz (BeOS) -// Cleanups by James L. Hammons +// Cleanups/new stuff by James L. Hammons // #include "log.h" @@ -13,8 +13,10 @@ FILE * log_stream = NULL; int log_init(char * path) { log_stream = fopen(path, "wrt"); + if (log_stream == NULL) return 0; + return 1; } @@ -27,3 +29,22 @@ void log_done(void) { fclose(log_stream); } + +// +// This logger is used mainly to ensure that text gets written to the log file +// even if the program crashes. The performance hit is acceptable in this case! +// +//bool suppressOutput = true;//temporary stuff +bool suppressOutput = false;//temporary stuff +void WriteLog(const char * text, ...) +{ + if (suppressOutput) + return; + + va_list arg; + + va_start(arg, text); + vfprintf(log_stream, text, arg); + va_end(arg); + fflush(log_stream); // Make sure that text is written! +}