From 2186d5f3f95cd74a070a490d899291648d58667a Mon Sep 17 00:00:00 2001 From: Steven Fuller Date: Sun, 1 Jul 2001 00:55:22 +0000 Subject: Initial revision --- 3dc/win95/DEBUGLOG.CPP | 122 ------------------------------------------------- 1 file changed, 122 deletions(-) delete mode 100644 3dc/win95/DEBUGLOG.CPP (limited to '3dc/win95/DEBUGLOG.CPP') diff --git a/3dc/win95/DEBUGLOG.CPP b/3dc/win95/DEBUGLOG.CPP deleted file mode 100644 index 2e76b9f..0000000 --- a/3dc/win95/DEBUGLOG.CPP +++ /dev/null @@ -1,122 +0,0 @@ -#include -#include -#include -#include "debuglog.hpp" - -LogFile::LogFile(char const * const _fname) : fname(0) , ever_written(0) -{ - FILE * fp = fopen(_fname,"w"); - if (fp) - { - fclose(fp); - fname = new char[strlen(_fname)+1]; - strcpy(fname,_fname); - return; - } - char const * path = getenv("TEMP"); - if (!path) path = getenv("TMP"); - if (!path) return; - fname = new char[strlen(path)+1+strlen(_fname)+1]; - strcpy(fname,path); - strncat(fname,"\\",1); - strcat(fname,_fname); - fp = fopen(fname,"w"); - if (fp) - fclose(fp); - else - { - delete[] fname; - fname = 0; - } -} - -LogFile::~LogFile() -{ - if (unwritten.size()) - { - FILE * fp = fopen(fname,"a"); - for (int attempt=0; !fp && attempt<10; ++attempt) - { - Sleep(100); - fp = fopen(fname,"a"); - } - if (fp) - { - FlushOut(fp); - fclose(fp); - } - } - if (fname) delete[] fname; -} - -LogFile & LogFile::operator = (LogFile const & l) -{ - if (&l != this) - { - if (fname) delete[] fname; - if (l.fname) - { - fname = new char[strlen(l.fname)+1]; - strcpy(fname,l.fname); - } - else - fname = 0; - - unwritten = l.unwritten; - ever_written = l.ever_written; - } - return *this; -} - -LogFile::LogFile(LogFile const & l) -: unwritten(l.unwritten) -, ever_written(l.ever_written) -{ - if (l.fname) - { - fname = new char[strlen(l.fname)+1]; - strcpy(fname,l.fname); - } - else - fname = 0; -} - -void LogFile::FlushOut(FILE * fp) -{ - while (unwritten.size()) - { - char * str = unwritten.first_entry(); - unwritten.delete_first_entry(); - fputs(str,fp); - delete[] str; - } -} - -int vlfprintf(LOGFILE * lfp, char const * format, va_list args ) -{ - return lfp->vlprintf(format,args); -} - -int lfprintf(LOGFILE * lfp, char const * format, ... ) -{ - va_list ap; - va_start(ap, format); - int rv = lfp->vlprintf(format,ap); - va_end(ap); - return rv; -} - -int lfputs(LOGFILE * lfp, char const * str) -{ - return lfp->lputs(str); -} - -LOGFILE * lfopen(char const * fname) -{ - return new LogFile(fname); -} - -void lfclose(LOGFILE * lfp) -{ - delete lfp; -} -- cgit v1.3