r279: msvc compatibility changes
[ctsim.git] / libctsupport / syserror.cpp
index 939f024bee0b29a6a6bfcb99a4b9ee7fe7bb276f..f60628840d675189d59d6ccf37ee9ef22d29580c 100644 (file)
@@ -2,7 +2,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: syserror.cpp,v 1.5 2000/08/31 08:38:58 kevin Exp $
+**  $Id: syserror.cpp,v 1.8 2000/12/17 23:30:48 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
@@ -65,38 +65,46 @@ void sys_verror (int severity, const char *msg, va_list arg)
     if (nErrorCount > MAX_ERROR_COUNT)
       return;
     else if (nErrorCount == MAX_ERROR_COUNT) {
-      cout << "*****************************************************************" << endl;
-      cout << "***   M A X I M U M   E R R O R   C O U N T   R E A C H E D   ***" << endl;
-      cout << "***                                                           ***" << endl;
-      cout << "***           No further errors will be reported              ***" << endl;
-      cout << "*****************************************************************" << endl;
+               std::cout << "*****************************************************************\n";
+               std::cout << "***   M A X I M U M   E R R O R   C O U N T   R E A C H E D   ***\n";
+               std::cout << "***                                                           ***\n";
+               std::cout << "***           No further errors will be reported              ***\n";
+               std::cout << "*****************************************************************\n";
       return;
     }
   }
     
   switch (severity) {
   case ERR_FATAL:
-    cout << "FATAL ERROR: ";
+         std::cout << "FATAL ERROR: ";
     break;
   case ERR_SEVERE:
-    cout << "SEVERE ERROR: ";
+         std::cout << "SEVERE ERROR: ";
     break;
   case ERR_WARNING:
-    cout << "WARNING ERROR: ";
+         std::cout << "WARNING ERROR: ";
     break;
   default:
-    sys_error (ERR_FATAL, "illegal error code #%d  [sys_error]", severity);
+         std::cout << "Illegal error code #" << severity << ": ";
   }
   
-  char errStr[512];
+  char errStr[512];\r
+  
+#if HAVE_VSNPRINTF
   vsnprintf (errStr, sizeof(errStr), msg, arg);
-  cout << errStr << endl;
+#elif HAVE_VSPRINTF
+  vsprintf (errStr, msg, arg);\r
+#else\r
+  strncpy (errStr, sizeof(errStr), "Error message not available on this platform.");
+#endif
+
+  std::cout << errStr << std::endl;
   
   if (severity == ERR_FATAL)
-    throw runtime_error (errStr);
+         throw std::runtime_error (errStr);
   
 #if INTERACTIVE_ERROR_DISPLAY
-  cout << "A - Abort  C - Continue  W - Turn off warnings? ";
+  std::cout << "A - Abort  C - Continue  W - Turn off warnings? ";
   //  fflush(stderr);
   do 
    {