diff options
author | marha <marha@users.sourceforge.net> | 2012-03-28 09:11:07 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-03-28 09:11:07 +0200 |
commit | 9b51c6da8bffdd67353b1e1245698a7eac478481 (patch) | |
tree | cde44c263cb1756fae5b4a83facb3c0cdfa474e4 /xorg-server/os/log.c | |
parent | fb2b04331b6ae2cd11f6132cf16f6fcd848fb6b8 (diff) | |
parent | ec617f09d07e32d6f57c0da133f53ad3d43a568a (diff) | |
download | vcxsrv-9b51c6da8bffdd67353b1e1245698a7eac478481.tar.gz vcxsrv-9b51c6da8bffdd67353b1e1245698a7eac478481.tar.bz2 vcxsrv-9b51c6da8bffdd67353b1e1245698a7eac478481.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'xorg-server/os/log.c')
-rw-r--r-- | xorg-server/os/log.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/xorg-server/os/log.c b/xorg-server/os/log.c index ca29442f8..f6410379c 100644 --- a/xorg-server/os/log.c +++ b/xorg-server/os/log.c @@ -602,6 +602,7 @@ void FatalError(const char *f, ...) { va_list args; + va_list args2; static Bool beenhere = FALSE; if (beenhere) @@ -609,15 +610,17 @@ FatalError(const char *f, ...) else ErrorF("\nFatal server error:\n"); - va_start(args, f); + /* Make a copy for OsVendorFatalError */ + va_copy(args2, args); + #ifdef __APPLE__ { - va_list args2; + va_list apple_args; - va_copy(args2, args); - (void) vsnprintf(__crashreporter_info_buff__, - sizeof(__crashreporter_info_buff__), f, args2); - va_end(args2); + va_copy(apple_args, args); + (void)vsnprintf(__crashreporter_info_buff__, + sizeof(__crashreporter_info_buff__), f, apple_args); + va_end(apple_args); } #endif #ifdef WIN32 @@ -627,7 +630,8 @@ FatalError(const char *f, ...) va_end(args); ErrorF("\n"); if (!beenhere) - OsVendorFatalError(); + OsVendorFatalError(f, args2); + va_end(args2); if (!beenhere) { beenhere = TRUE; AbortServer(); |