X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsupport%2Fsyserror.cpp;h=5b4e6315a3f993fe7f7b9af7adb73077554d3670;hp=1b9aff402c8513575e9492bb8f877b2eb48484a7;hb=3f6c94c6bd432ad7b7a55ad991d3b8223fb44f18;hpb=7f8f356151b0c8db0dbbf1c1896cc22630d6c774 diff --git a/libctsupport/syserror.cpp b/libctsupport/syserror.cpp index 1b9aff4..5b4e631 100644 --- a/libctsupport/syserror.cpp +++ b/libctsupport/syserror.cpp @@ -1,8 +1,8 @@ /***************************************************************************** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: syserror.cpp,v 1.14 2001/01/12 16:41:56 kevin Exp $ +** $Id: syserror.cpp,v 1.21 2001/02/20 04:48:45 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -26,6 +26,9 @@ #include #include "ct.h" +#ifdef HAVE_WXWINDOWS +#include "../src/ctsim.h" +#endif /* NAME * sys_error System error handler @@ -38,12 +41,8 @@ * Can take 24 byte transfer */ -static int s_reportErrorLevel = ERR_WARNING; // Set error reporting level +static int s_reportErrorLevel = ERR_TRACE; // Set error reporting level -#ifdef HAVE_WXWINDOWS -#include "../src/ctsim.h" -bool g_bRunningWXWindows = false; -#endif void sys_error (int severity, const char *msg, ...) { @@ -55,11 +54,15 @@ void sys_error (int severity, const char *msg, ...) sys_verror (strOutput, severity, msg, arg); #ifdef HAVE_WXWINDOWS - if (g_bRunningWXWindows) - *theApp->getLog() << strOutput.c_str(); + if (g_bRunningWXWindows) { + if (theApp) + *theApp->getLog() << strOutput.c_str() << "\n"; + else + wxLog::OnLog (wxLOG_Message, strOutput.c_str(), time(NULL)); + } else #endif - std::cout << strOutput; + std::cout << strOutput << "\n"; va_end(arg); } @@ -75,7 +78,9 @@ void sys_verror (std::string& strOutput, int severity, const char *msg, va_list std::ostringstream os; - s_nErrorCount++; + if (severity > ERR_TRACE) + s_nErrorCount++; + if (severity != ERR_FATAL) { if (s_nErrorCount > MAX_ERROR_COUNT) return; @@ -117,11 +122,11 @@ void sys_verror (std::string& strOutput, int severity, const char *msg, va_list strncpy (errStr, sizeof(errStr), "Error message not available on this platform."); #endif - os << errStr << "\n"; + os << errStr; strOutput = os.str(); if (severity == ERR_FATAL) { - std::cerr << strOutput; + std::cerr << strOutput << "\n"; throw std::runtime_error (strOutput); }