projects
/
ctsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automated commit for debian release 5.2.0-1
[ctsim.git]
/
libctsupport
/
syserror.cpp
diff --git
a/libctsupport/syserror.cpp
b/libctsupport/syserror.cpp
index 0d6624082610f5c59dad7a45734e2e3b55f8e2e8..31c9d4e5320b5ee089792dcc2d924d3fd2eeb4eb 100644
(file)
--- a/
libctsupport/syserror.cpp
+++ b/
libctsupport/syserror.cpp
@@
-1,8
+1,6
@@
/*****************************************************************************
** This is part of the CTSim program
/*****************************************************************************
** This is part of the CTSim program
-** Copyright (c) 1983-2001 Kevin Rosenberg
-**
-** $Id$
+** Copyright (c) 1983-2009 Kevin Rosenberg
**
** 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
@@
-28,43
+26,44
@@
#ifdef HAVE_WXWINDOWS
#include "../src/ctsim.h"
#ifdef HAVE_WXWINDOWS
#include "../src/ctsim.h"
+#include <wx/log.h>
#endif
/* NAME
#endif
/* NAME
-* sys_error System error handler
+* sys_error
System error handler
*
* SYNOPSIS
* sys_error (severity, msg, args . . .)
*
* SYNOPSIS
* sys_error (severity, msg, args . . .)
-* int severity Severity of error
-* char *msg Error message
-* args Argument list, direct transfer to printf stack
+* int severity
Severity of error
+* char *msg
Error message
+* args
Argument list, direct transfer to printf stack
*/
*/
-static int s_reportErrorLevel = ERR_TRACE;
// Set error reporting level
+static int s_reportErrorLevel = ERR_TRACE;
// Set error reporting level
void sys_error (int severity, const char *msg, ...)
{
va_list arg;
void sys_error (int severity, const char *msg, ...)
{
va_list arg;
-
+
va_start(arg, msg);
va_start(arg, msg);
-
+
std::string strOutput;
sys_verror (strOutput, severity, msg, arg);
std::string strOutput;
sys_verror (strOutput, severity, msg, arg);
-
+
#ifdef HAVE_WXWINDOWS
if (g_bRunningWXWindows) {
if (theApp) {
wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
#ifdef HAVE_WXWINDOWS
if (g_bRunningWXWindows) {
if (theApp) {
wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
- wxString msg (
strOutput.c_str(
));
+ wxString msg (
wxConvCurrent->cMB2WX(strOutput.c_str()
));
if (msg.length() > 0) {
if (msg.length() > 0) {
-
msg += "\n"
;
- eventLog.SetString( msg );
- wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event, thread safe
+
msg += wxChar('\n')
;
+
eventLog.SetString( msg );
+
wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event, thread safe
}
} else {
wxMutexGuiEnter();
}
} else {
wxMutexGuiEnter();
- wxLog::OnLog (wxLOG_Message,
strOutput.c_str(
), time(NULL));
+ wxLog::OnLog (wxLOG_Message,
wxConvCurrent->cMB2WX(strOutput.c_str()
), time(NULL));
wxMutexGuiLeave();
}
}
wxMutexGuiLeave();
}
}
@@
-84,8
+83,8
@@
unsigned long int g_lSysErrorMaxCount = 2000;
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list arg)
{
if (severity < s_reportErrorLevel)
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list arg)
{
if (severity < s_reportErrorLevel)
- return; // ignore error if less than reporting level
-
+ return;
// ignore error if less than reporting level
+
std::ostringstream os;
if (severity > ERR_TRACE)
std::ostringstream os;
if (severity > ERR_TRACE)
@@
-104,7
+103,7
@@
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list
return;
}
}
return;
}
}
-
+
switch (severity) {
case ERR_FATAL:
os << "FATAL ERROR: ";
switch (severity) {
case ERR_FATAL:
os << "FATAL ERROR: ";
@@
-121,9
+120,9
@@
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list
default:
os << "Illegal error severity #" << severity << ": ";
}
default:
os << "Illegal error severity #" << severity << ": ";
}
-
+
char errStr[2000];
char errStr[2000];
-
+
#if HAVE_VSNPRINTF
vsnprintf (errStr, sizeof(errStr), msg, arg);
#elif HAVE_VSPRINTF
#if HAVE_VSNPRINTF
vsnprintf (errStr, sizeof(errStr), msg, arg);
#elif HAVE_VSPRINTF
@@
-131,32
+130,32
@@
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list
#else
strncpy (errStr, sizeof(errStr), "Error message not available on this platform.");
#endif
#else
strncpy (errStr, sizeof(errStr), "Error message not available on this platform.");
#endif
-
+
os << errStr;
strOutput = os.str();
os << errStr;
strOutput = os.str();
-
+
if (severity == ERR_FATAL) {
std::cerr << strOutput << "\n";
if (severity == ERR_FATAL) {
std::cerr << strOutput << "\n";
- throw std::runtime_error (strOutput);
+ throw std::runtime_error (strOutput);
}
}
-
+
#if INTERACTIVE_ERROR_DISPLAY
std::cout << "A - Abort C - Continue W - Turn off warnings? ";
// fflush(stderr);
#if INTERACTIVE_ERROR_DISPLAY
std::cout << "A - Abort C - Continue W - Turn off warnings? ";
// fflush(stderr);
- do
+ do
{
{
- int c = cio_kb_waitc("AaBbCcWw", TRUE); /* get code from keyboard */
+ int c = cio_kb_waitc("AaBbCcWw", TRUE);
/* get code from keyboard */
c = tolower (c);
fputc (c, stderr);
fputc (NEWLINE, stderr);
c = tolower (c);
fputc (c, stderr);
fputc (NEWLINE, stderr);
-
+
if (c == 'a')
exit (1);
else if (c == 'c')
return;
if (c == 'a')
exit (1);
else if (c == 'c')
return;
- else if (c == 'w')
+ else if (c == 'w')
{
{
- sys_error_level (ERR_SEVERE); /* report severe & fatal errors */
+ sys_error_level (ERR_SEVERE);
/* report severe & fatal errors */
break;
}
} while (TRUE);
break;
}
} while (TRUE);
@@
-165,11
+164,11
@@
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list
/* NAME
/* NAME
-* sys_error_level Set error reporting level
+* sys_error_level
Set error reporting level
*
* SYNOPSIS
* sys_error_level (severity)
*
* SYNOPSIS
* sys_error_level (severity)
-* int severity Report all error as serious as severity and beyond
+* int severity
Report all error as serious as severity and beyond
*
* DESCRIPTION
* Causes the system to ignore all error below the level of severity
*
* DESCRIPTION
* Causes the system to ignore all error below the level of severity
@@
-177,7
+176,7
@@
void sys_verror (std::string& strOutput, int severity, const char *msg, va_list
* error and ignore warnings
*/
* error and ignore warnings
*/
-void
+void
sys_error_level (int severity)
{
if (severity == ERR_FATAL ||
sys_error_level (int severity)
{
if (severity == ERR_FATAL ||