[project @ 2005-10-27 15:18:50 by simonmar]
[ghc-hetmet.git] / ghc / rts / RtsMessages.c
index b8fed78..a690614 100644 (file)
@@ -49,16 +49,7 @@ vbarf(char *s, va_list ap)
 void 
 _assertFail(char *filename, unsigned int linenum)
 {
-    internalErrorBelch("ASSERTION FAILED: file %s, line %u\n", filename, linenum);
-    abort();
-}
-
-internalErrorBelch(char *s, ...)
-{
-  va_list ap;
-  va_start(ap,s);
-  (*fatalInternalErrorFn)(s,ap);
-  va_end(ap);
+    barf("ASSERTION FAILED: file %s, line %u\n", filename, linenum);
 }
 
 void
@@ -123,21 +114,15 @@ rtsFatalInternalErrorFn(char *s, va_list ap)
   if (isGUIApp())
   {
      char title[BUFSIZE], message[BUFSIZE];
-     int r;
 
-        r = vsnprintf(title,   BUFSIZE, "%s: internal error", prog_name);
-        if (r > 0 && r < BUFSIZE) {
-                strcpy(title, "internal error");
-     }
+     snprintf(title,   BUFSIZE, "%s: internal error", prog_name);
+     vsnprintf(message, BUFSIZE, s, ap);
 
-        r = vsnprintf(message, BUFSIZE, s, ap);
-        if (r > 0 && r < BUFSIZE) {
-          MessageBox(NULL /* hWnd */,
-         message,
-         title,
-         MB_OK | MB_ICONERROR | MB_TASKMODAL
-         );
-     };
+     MessageBox(NULL /* hWnd */,
+               message,
+               title,
+               MB_OK | MB_ICONERROR | MB_TASKMODAL
+              );
   }
   else
 #endif
@@ -154,7 +139,8 @@ rtsFatalInternalErrorFn(char *s, va_list ap)
      fflush(stderr);
   }
 
-  stg_exit(EXIT_INTERNAL_ERROR);
+  abort();
+  // stg_exit(EXIT_INTERNAL_ERROR);
 }
 
 void