aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/os/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/os/log.c')
-rw-r--r--xorg-server/os/log.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/xorg-server/os/log.c b/xorg-server/os/log.c
index 2c13c1a7d..de3e9f322 100644
--- a/xorg-server/os/log.c
+++ b/xorg-server/os/log.c
@@ -92,8 +92,14 @@ OR PERFORMANCE OF THIS SOFTWARE.
#ifdef WIN32
#include <process.h>
+#ifndef _MSC_VER
#define getpid(x) _getpid(x)
#endif
+#endif
+
+#ifdef _MSC_VER
+#define S_ISREG(m) (((m)&_S_IFMT) == _S_IFREG)
+#endif
#ifdef XF86BIGFONT
#include "xf86bigfontsrv.h"
@@ -576,7 +582,7 @@ VAuditF(const char *f, va_list args)
if (auditTimer != NULL)
TimerForce(auditTimer);
ErrorF("%s%s", prefix != NULL ? prefix : "", buf);
- strlcpy(oldbuf, buf, sizeof(oldbuf));
+ strncpy(oldbuf, buf, sizeof(oldbuf));
oldlen = len;
nrepeat = 0;
auditTimer = TimerSet(auditTimer, 0, AUDIT_TIMEOUT, AuditFlush, NULL);
@@ -584,6 +590,8 @@ VAuditF(const char *f, va_list args)
free(prefix);
}
+extern char g_FatalErrorMessage[1024];
+
void
FatalError(const char *f, ...)
{
@@ -598,8 +606,10 @@ FatalError(const char *f, ...)
va_start(args, f);
+#ifndef _MSC_VER
/* Make a copy for OsVendorFatalError */
va_copy(args2, args);
+#endif
#ifdef __APPLE__
{
@@ -611,9 +621,15 @@ FatalError(const char *f, ...)
va_end(apple_args);
}
#endif
+#ifdef WIN32
+ vsnprintf(g_FatalErrorMessage, 1024, f, args);
+#endif
VErrorF(f, args);
va_end(args);
ErrorF("\n");
+#ifdef _MSC_VER
+ va_start(args2, f);
+#endif
if (!beenhere)
OsVendorFatalError(f, args2);
va_end(args2);