diff --git a/src/error.c b/src/error.c index 47d6f99464b179aa377db4e09a6cd5c515c9044b..e90c7c81c0123272d366a6440e0a4b5dadde4ba1 100644 --- a/src/error.c +++ b/src/error.c @@ -70,14 +70,15 @@ struct svalue throw_value = { T_INT }; void va_error(char *fmt, va_list args) { char buf[2000]; - static int in_error; + static char *in_error; if(in_error) { + char *tmp=in_error; in_error=0; - fatal("Recursive error() calls.\n"); + fatal("Recursive error() calls, original error: %s",tmp); } - in_error=1; + in_error=buf; VSPRINTF(buf, fmt, args);