From 65ebd31adfb737e823431e87ecb6830f81d0bb58 Mon Sep 17 00:00:00 2001 From: krasimir Date: Fri, 20 May 2005 14:40:50 +0000 Subject: [PATCH] [project @ 2005-05-20 14:40:50 by krasimir] Bugfix: in rtsFatalInternalErrorFn vsnprintf function was used instead of snprintf. The code is changed so that the error message will be displayed even if it is longer that BUFSIZE. --- ghc/rts/RtsMessages.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/ghc/rts/RtsMessages.c b/ghc/rts/RtsMessages.c index 5df2fe4..aefee4c 100644 --- a/ghc/rts/RtsMessages.c +++ b/ghc/rts/RtsMessages.c @@ -114,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 -- 1.7.10.4