cvs: php4 /win32 winutil.c winutil.h
| From: | Daniel Beulshausen | Date: | Sun, 02 Dec 2001 13:34:41 +0000 |
| Subject: | cvs: php4 /win32 winutil.c winutil.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-8381@lists.php.net to get a copy of this message | ||
dbeu Sun Dec 2 08:34:41 2001 EDT
Modified files:
/php4/win32 winutil.c winutil.h
Log:
fix php_win_err (wasn't threadsafe)
Index: php4/win32/winutil.c
diff -u php4/win32/winutil.c:1.5 php4/win32/winutil.c:1.6
--- php4/win32/winutil.c:1.5 Wed Nov 21 17:47:54 2001
+++ php4/win32/winutil.c Sun Dec 2 08:34:40 2001
@@ -1,19 +1,31 @@
-#include <php.h>
+/*
+ +----------------------------------------------------------------------+
+ | PHP version 4.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2001 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt.
|
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Author: |
+ +----------------------------------------------------------------------+
+ */
-#ifndef THREAD_SAFE
-static char Win_Error_msg[256];
-#endif
+#include <php.h>
-PHPAPI char *php_win_err(void)
+PHPAPI char *php_win_err(int error)
{
+ char *buf;
+
FormatMessage(
- FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- GetLastError(),
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */
- (LPTSTR) Win_Error_msg,
- 256,
- NULL);
+ FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&buf, 0, NULL
+ );
- return Win_Error_msg;
+ return (buf ? (char *) buf : "");
}
Index: php4/win32/winutil.h
diff -u php4/win32/winutil.h:1.3 php4/win32/winutil.h:1.4
--- php4/win32/winutil.h:1.3 Wed Nov 21 17:47:53 2001
+++ php4/win32/winutil.h Sun Dec 2 08:34:40 2001
@@ -1 +1,21 @@
-PHPAPI extern char *php_win_err(void);
+/*
+ +----------------------------------------------------------------------+
+ | PHP version 4.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2001 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt.
|
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Author: |
+ +----------------------------------------------------------------------+
+ */
+
+PHPAPI char *php_win_err(int error);
+
+#define php_win_err() php_win_err(GetLastError())