summaryrefslogtreecommitdiff
path: root/win32/winutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/winutil.c')
-rw-r--r--win32/winutil.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/win32/winutil.c b/win32/winutil.c
new file mode 100644
index 0000000000..0ac7e54703
--- /dev/null
+++ b/win32/winutil.c
@@ -0,0 +1,29 @@
+#ifdef THREAD_SAFE
+#include "tls.h"
+#else
+#define TLS_VARS
+#define GLOBAL(a) a
+#endif
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include "winutil.h"
+
+#ifndef THREAD_SAFE
+static char Win_Error_msg[256];
+#endif
+
+char *php3_win_err(void)
+{
+ TLS_VARS;
+
+ FormatMessage(
+ FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ GetLastError(),
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
+ (LPTSTR) GLOBAL(Win_Error_msg),
+ 256,
+ NULL);
+
+ return GLOBAL(Win_Error_msg);
+}