projects
/
ctsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r559: no message
[ctsim.git]
/
libctsupport
/
syserror.cpp
diff --git
a/libctsupport/syserror.cpp
b/libctsupport/syserror.cpp
index 8c28c3b6d5859a964f678fc543a55059ef4804ef..5b4e6315a3f993fe7f7b9af7adb73077554d3670 100644
(file)
--- a/
libctsupport/syserror.cpp
+++ b/
libctsupport/syserror.cpp
@@
-1,8
+1,8
@@
/*****************************************************************************
** This is part of the CTSim program
/*****************************************************************************
** This is part of the CTSim program
-** Copyright (
C) 1983-2000
Kevin Rosenberg
+** Copyright (
c) 1983-2001
Kevin Rosenberg
**
**
-** $Id: syserror.cpp,v 1.
16 2001/01/18 21:30:22
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
**
** 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
@@
-25,7
+25,10
@@
#include <ctype.h>
#include <string>
#include "ct.h"
#include <ctype.h>
#include <string>
#include "ct.h"
+
+#ifdef HAVE_WXWINDOWS
#include "../src/ctsim.h"
#include "../src/ctsim.h"
+#endif
/* NAME
* sys_error System error handler
/* NAME
* sys_error System error handler
@@
-38,7
+41,7
@@
* Can take 24 byte transfer
*/
* 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
void sys_error (int severity, const char *msg, ...)
void sys_error (int severity, const char *msg, ...)
@@
-51,11
+54,15
@@
void sys_error (int severity, const char *msg, ...)
sys_verror (strOutput, severity, msg, arg);
#ifdef HAVE_WXWINDOWS
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
else
#endif
- std::cout << strOutput;
+ std::cout << strOutput
<< "\n"
;
va_end(arg);
}
va_end(arg);
}
@@
-71,7
+78,9
@@
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list
std::ostringstream os;
std::ostringstream os;
- s_nErrorCount++;
+ if (severity > ERR_TRACE)
+ s_nErrorCount++;
+
if (severity != ERR_FATAL) {
if (s_nErrorCount > MAX_ERROR_COUNT)
return;
if (severity != ERR_FATAL) {
if (s_nErrorCount > MAX_ERROR_COUNT)
return;
@@
-113,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
strncpy (errStr, sizeof(errStr), "Error message not available on this platform.");
#endif
- os << errStr
<< "\n"
;
+ os << errStr;
strOutput = os.str();
if (severity == ERR_FATAL) {
strOutput = os.str();
if (severity == ERR_FATAL) {
- std::cerr << strOutput;
+ std::cerr << strOutput
<< "\n"
;
throw std::runtime_error (strOutput);
}
throw std::runtime_error (strOutput);
}