From 1fd428eed3d9b20fba676691e829be8e049b2a60 Mon Sep 17 00:00:00 2001 From: Lee Salzman Date: Sun, 11 May 2008 04:14:39 +0000 Subject: [PATCH] saner error recursion handling git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@1928 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/main.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/source/src/main.cpp b/source/src/main.cpp index c491a681..bc8cd5c6 100644 --- a/source/src/main.cpp +++ b/source/src/main.cpp @@ -40,9 +40,20 @@ void quit() // normal exit void fatal(const char *s, ...) // failure exit { - s_sprintfdlv(msg,s,s); - s_sprintfd(msgerr)("%s (%s)\n", msg, SDL_GetError()); - cleanup(msgerr); + static int errors = 0; + errors++; + + if(errors <= 2) + { + s_sprintfdlv(msg,s,s); + if(errors <= 1) + { + s_sprintfdlv(msg,s,s); + s_sprintfd(msgerr)("%s (%s)\n", msg, SDL_GetError()); + cleanup(msgerr); + } + else puts(msg); + } exit(EXIT_FAILURE); }