diff options
author | Ondřej Surý <ondrej@sury.org> | 2012-02-01 21:25:15 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2012-02-01 21:25:15 +0100 |
commit | 96fb2ff5760132a915766f1d9ec7c63001feacd8 (patch) | |
tree | 160904a89a8f3522fa4e47632db101b045e7814a /win32 | |
parent | 8f1428d29ef91d74b4d272af171675f2971eb15b (diff) | |
download | php-96fb2ff5760132a915766f1d9ec7c63001feacd8.tar.gz |
Imported Upstream version 5.4.0~rc6upstream/5.4.0_rc6
Diffstat (limited to 'win32')
-rw-r--r-- | win32/build/Makefile | 22 | ||||
-rw-r--r-- | win32/build/config.w32 | 46 | ||||
-rw-r--r-- | win32/build/config.w32.h.in | 6 | ||||
-rw-r--r-- | win32/build/config.w32.phpize.in | 7 | ||||
-rw-r--r-- | win32/build/configure.tail | 2 | ||||
-rw-r--r-- | win32/build/confutils.js | 16 | ||||
-rw-r--r-- | win32/build/template.rc | 2 | ||||
-rw-r--r-- | win32/inet.h | 2 | ||||
-rw-r--r-- | win32/install.txt | 12 | ||||
-rw-r--r-- | win32/php5dll.dsp | 4 | ||||
-rw-r--r-- | win32/php5dllts.dsp | 4 | ||||
-rw-r--r-- | win32/syslog.reg | 4 | ||||
-rw-r--r-- | win32/winutil.c | 2 | ||||
-rw-r--r-- | win32/winutil.h | 4 |
14 files changed, 86 insertions, 47 deletions
diff --git a/win32/build/Makefile b/win32/build/Makefile index b1c74551e..34d87ab1d 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -14,7 +14,7 @@ # | Author: Wez Furlong <wez@thebrainroom.com> | # +----------------------------------------------------------------------+ # -# $Id: Makefile 308863 2011-03-02 18:35:10Z moriyoshi $ +# $Id: Makefile 322075 2012-01-11 15:47:37Z pajoye $ # This is the makefile template for the win32 build CC="$(PHP_CL)" @@ -22,6 +22,7 @@ LD="$(LINK)" MC="$(MC)" MT="$(MT)" RE2C="$(RE2C)" +PGOMGR="$(PGOMGR)" PHP_BUILD=$(PHP_BUILD) MCFILE=$(BUILD_DIR)\wsyslog.rc @@ -60,6 +61,12 @@ Zend\zend_language_scanner.c: Zend\zend_language_scanner.l $(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/zend_language_scanner.l !endif +!if $(PGOMGR) != "" +PHP5_PGD_OPTION=/PGD:$(PGOPGD_DIR)\php5.pgd +!else +PHP5_PGD_OPTION= +!endif + PHPDLL_RES=$(BUILD_DIR)\$(PHPDLL).res $(MCFILE): win32\build\wsyslog.mc @@ -82,7 +89,7 @@ $(PHPDLL_RES): win32\build\template.rc win32\build\template.rc $(BUILD_DIR)\$(PHPDLL): generated_files $(PHPDEF) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(PHPDLL_RES) $(MCFILE) - @$(CC) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(STATIC_EXT_LIBS) $(LIBS) $(PHPDLL_RES) /link /out:$(BUILD_DIR)\$(PHPDLL) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS) + @$(CC) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(STATIC_EXT_LIBS) $(LIBS) $(PHPDLL_RES) /link /out:$(BUILD_DIR)\$(PHPDLL) $(PHP5_PGD_OPTION) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS) -@$(_VC_MANIFEST_EMBED_DLL) $(BUILD_DIR)\$(PHPLIB): $(BUILD_DIR)\$(PHPDLL) @@ -120,7 +127,16 @@ clean-all: @cd $(BUILD_DIR) @for %D in (_x $(BUILD_DIRS_SUB)) do @if exist %D @rd /s /q %D @cd "$(PHP_SRC_DIR)" - -@del /f /q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\*.rc $(BUILD_DIR)\*.dbg $(BUILD_DIR)\*.bin $(BUILD_DIR)\php*.dll $(BUILD_DIR)\php*.exe > NUL + -@del /f /q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\*.rc $(BUILD_DIR)\*.manifest $(BUILD_DIR)\*.dbg $(BUILD_DIR)\*.bin $(BUILD_DIR)\php*.dll $(BUILD_DIR)\php*.exe > NUL + +clean-pgo: clean-all + -rd /s /q $(BUILD_DIR)\php-$(PHP_VERSION_STRING) + -rd /s /q $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING) + -rd /s /q $(BUILD_DIR)\php-test-pack-$(PHP_VERSION_STRING) + -del /f /q $(BUILD_DIR)\php-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip + -del /f /q $(BUILD_DIR)\php-debug-pack-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip + -del /f /q $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip + -del /f /q $(BUILD_DIR)\php-test-pack-$(PHP_VERSION_STRING).zip test: "$(BUILD_DIR)\php.exe" -d open_basedir= -d output_buffering=0 run-tests.php $(TESTS) -p "$(BUILD_DIR)\php.exe" diff --git a/win32/build/config.w32 b/win32/build/config.w32 index ead7dfb52..aac996631 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -1,5 +1,5 @@ // vim:ft=javascript -// $Id: config.w32 309779 2011-03-28 10:55:34Z pajoye $ +// $Id: config.w32 322074 2012-01-11 15:46:45Z pajoye $ // "Master" config file; think of it as a configure.in // equivalent. @@ -19,6 +19,11 @@ if (!PHP_CL) { // Which version of the compiler do we have? VCVERS = probe_binary(PHP_CL).substr(0, 5).replace('.', ''); STDOUT.WriteLine(" Detected compiler " + VC_VERSIONS[VCVERS]); + +if (VCVERS < 1500) { + ERROR("Unsupported MS C++ Compiler, VC9 (2008) minimum is required"); +} + AC_DEFINE('COMPILER', VC_VERSIONS[VCVERS], "Detected compiler version"); DEFINE("PHP_COMPILER_SHORT", VC_VERSIONS_SHORT[VCVERS]); AC_DEFINE('PHP_COMPILER_ID', VC_VERSIONS_SHORT[VCVERS], "Compiler compatibility ID"); @@ -100,6 +105,19 @@ ARG_ENABLE('debug-pack', 'Release binaries with external debug symbols (--enable if (PHP_DEBUG == "yes" && PHP_DEBUG_PACK == "yes") { ERROR("Use of both --enable-debug and --enable-debug-pack not allowed."); } + +ARG_ENABLE('pgi', 'Generate PGO instrumented binaries', 'no'); +ARG_WITH('pgo', 'Compile optimized binaries using training data from folder', 'no'); +if (PHP_PGI == "yes" || PHP_PGO != "no") { + PGOMGR = PATH_PROG('pgomgr', WshShell.Environment("Process").Item("PATH")); + if (!PGOMGR) { + ERROR("--enable-pgi and --with-pgo options can only be used if PGO capable compiler is present."); + } + if (PHP_PGI == "yes" && PHP_PGO != "no") { + ERROR("Use of both --enable-pgi and --with-pgo not allowed."); + } +} + ARG_ENABLE('zts', 'Thread safety', 'yes'); // Configures the hard-coded installation dir ARG_WITH('prefix', 'where PHP will be installed', ''); @@ -229,6 +247,19 @@ if (PHP_DEBUG == "yes" && PHP_ZTS == "yes") { DEFINE("PHPLIB", "php" + PHP_VERSION + ".lib"); } +// CFLAGS, LDFLAGS and BUILD_DIR are defined +// Add compiler and link flags if PGO options are selected +if (PHP_DEBUG != "yes" && PHP_PGI == "yes") { + ADD_FLAG('CFLAGS', "/GL /O2"); + ADD_FLAG('LDFLAGS', "/LTCG:PGINSTRUMENT"); + DEFINE("PGOPGD_DIR", "$(BUILD_DIR)"); +} +else if (PHP_DEBUG != "yes" && PHP_PGO != "no") { + ADD_FLAG('CFLAGS', "/GL /O2"); + ADD_FLAG('LDFLAGS', "/LTCG:PGUPDATE"); + DEFINE("PGOPGD_DIR", ((PHP_PGO.length == 0 || PHP_PGO == "yes") ? "$(BUILD_DIR)" : PHP_PGO)); +} + // Find the php_build dir - it contains headers and libraries // that we need ARG_WITH('php-build', 'Path to where you extracted the development libraries (http://wiki.php.net/internals/windows/libs). Assumes that it is a sibling of this source dir (..\\deps) if not specified', 'no'); @@ -328,13 +359,13 @@ ADD_SOURCES("Zend", "zend_language_parser.c zend_language_scanner.c \ zend_stream.c zend_iterators.c zend_interfaces.c zend_objects.c \ zend_object_handlers.c zend_objects_API.c \ zend_default_classes.c zend_execute.c zend_strtod.c zend_gc.c zend_closures.c \ - zend_float.c"); + zend_float.c zend_string.c"); if (VCVERS == 1200) { AC_DEFINE('ZEND_DVAL_TO_LVAL_CAST_OK', 1); } -ADD_SOURCES("main", "main.c snprintf.c spprintf.c safe_mode.c getopt.c fopen_wrappers.c \ +ADD_SOURCES("main", "main.c snprintf.c spprintf.c getopt.c fopen_wrappers.c \ php_scandir.c php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \ strlcat.c mergesort.c reentrancy.c php_variables.c php_ticks.c network.c \ php_open_temporary_file.c php_logos.c output.c internal_functions.c php_sprintf.c"); @@ -358,6 +389,7 @@ PHP_INSTALL_HEADERS("", "Zend/ TSRM/ main/ main/streams/ win32/"); STDOUT.WriteBlankLines(1); + /* Can we build with IPv6 support? */ ARG_ENABLE("ipv6", "Disable IPv6 support (default is turn it on if available)", "yes"); @@ -377,12 +409,6 @@ AC_DEFINE('HAVE_IPV6', main_network_has_ipv6); ARG_ENABLE('fd-setsize', "Set maximum number of sockets for select(2)", "256"); ADD_FLAG("CFLAGS", "/D FD_SETSIZE=" + parseInt(PHP_FD_SETSIZE)); -ARG_ENABLE("zend-multibyte", "Enable Zend multibyte encoding support", "no"); -if (PHP_ZEND_MULTIBYTE == "yes") { - STDOUT.WriteLine("Enabling Zend multibyte encoding support"); - AC_DEFINE('ZEND_MULTIBYTE', 1); -} - AC_DEFINE('HAVE_USLEEP', 1); AC_DEFINE('HAVE_STRCOLL', 1); @@ -408,7 +434,7 @@ if (PHP_DSP != "no") { FSO.CreateFolder("tmp"); } -ARG_ENABLE("security-flags", "Enable the compiler security flags", "no"); +ARG_ENABLE("security-flags", "Disable the compiler security flags", "yes"); if (PHP_SECURITY_FLAGS == "yes") { ADD_FLAG("LDFLAGS", "/NXCOMPAT /DYNAMICBASE "); } diff --git a/win32/build/config.w32.h.in b/win32/build/config.w32.h.in index 4c16b1adc..81fb71b13 100644 --- a/win32/build/config.w32.h.in +++ b/win32/build/config.w32.h.in @@ -1,12 +1,12 @@ /* Build Configuration Template for Win32. - $Id: config.w32.h.in 305778 2010-11-26 18:25:13Z pajoye $ + $Id: config.w32.h.in 313575 2011-07-22 11:25:30Z pajoye $ */ /* Define the minimum supported version */ #undef _WIN32_WINNT #undef NTDDI_VERSION -#define _WIN32_WINNT 0x500 +#define _WIN32_WINNT 0x502 #define NTDDI_VERSION _WIN32_WIN2K /* Default PHP / PEAR directories */ @@ -33,8 +33,6 @@ /* PHP Runtime Configuration */ #define PHP_URL_FOPEN 1 -#define PHP_SAFE_MODE 0 -#define MAGIC_QUOTES 0 #define USE_CONFIG_FILE 1 #define DEFAULT_SHORT_OPEN_TAG "1" diff --git a/win32/build/config.w32.phpize.in b/win32/build/config.w32.phpize.in index 0f88620a7..b8bf45ea5 100644 --- a/win32/build/config.w32.phpize.in +++ b/win32/build/config.w32.phpize.in @@ -1,5 +1,5 @@ // vim:ft=javascript
-// $Id: config.w32 305923 2010-12-02 23:23:14Z pajoye $
+// $Id: config.w32 306241 2010-12-11 22:18:10Z pajoye $
// "Master" config file; think of it as a configure.in
// equivalent.
@@ -18,6 +18,11 @@ if (!PHP_CL) { // Which version of the compiler do we have?
VCVERS = probe_binary(PHP_CL).substr(0, 5).replace('.', '');
STDOUT.WriteLine(" Detected compiler " + VC_VERSIONS[VCVERS]);
+
+if (VCVERS < 1500) {
+ ERROR("Unsupported MS C++ Compiler, VC9 (2008) minimum is required");
+}
+
AC_DEFINE('COMPILER', VC_VERSIONS[VCVERS], "Detected compiler version");
DEFINE("PHP_COMPILER_SHORT", VC_VERSIONS_SHORT[VCVERS]);
AC_DEFINE('PHP_COMPILER_ID', VC_VERSIONS_SHORT[VCVERS], "Compiler compatibility ID");
diff --git a/win32/build/configure.tail b/win32/build/configure.tail index 20dc20651..6f746bf9b 100644 --- a/win32/build/configure.tail +++ b/win32/build/configure.tail @@ -1,5 +1,5 @@ // vim:ft=javascript -// $Id: configure.tail 306344 2010-12-13 18:43:10Z pajoye $ +// $Id: configure.tail 306347 2010-12-13 20:55:13Z pajoye $ // tail end of configure if (!MODE_PHPIZE && sapi_enabled.length < 1) { diff --git a/win32/build/confutils.js b/win32/build/confutils.js index a4ea2bfa2..8c4054da0 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -414,7 +414,8 @@ can be built that way. \ 'php-build', 'snapshot-template', 'ereg',
'pcre-regex', 'fastcgi', 'force-cgi-redirect',
'path-info-check', 'zts', 'ipv6', 'memory-limit',
- 'zend-multibyte', 'fd-setsize', 'memory-manager', 't1lib'
+ 'zend-multibyte', 'fd-setsize', 'memory-manager',
+ 't1lib', 'pgi', 'pgo'
);
var force;
@@ -1060,6 +1061,10 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir) ldflags = "$(LDFLAGS)";
manifest = "-@$(_VC_MANIFEST_EMBED_EXE)";
}
+
+ if(PHP_PGI == "yes" || PHP_PGO != "no") {
+ ldflags += " /PGD:$(PGOPGD_DIR)\\" + makefiletarget.substring(0, makefiletarget.indexOf(".")) + ".pgd";
+ }
if (MODE_PHPIZE) {
if (ld) {
@@ -1199,6 +1204,7 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir) var objs = null;
var EXT = extname.toUpperCase();
var extname_for_printing;
+ var ldflags;
if (shared == null) {
eval("shared = PHP_" + EXT + "_SHARED;");
@@ -1228,7 +1234,6 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir) MFO.WriteLine("# objects for EXT " + extname);
MFO.WriteBlankLines(1);
-
ADD_SOURCES(configure_module_dirname, file_list, extname, obj_dir);
MFO.WriteBlankLines(1);
@@ -1242,6 +1247,11 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir) var resname = generate_version_info_resource(dllname, extname, configure_module_dirname, false);
var ld = "@$(CC)";
+ ldflags = "";
+ if (PHP_PGI == "yes" || PHP_PGO != "no") {
+ ldflags = " /PGD:$(PGOPGD_DIR)\\" + dllname.substring(0, dllname.indexOf(".")) + ".pgd";
+ }
+
MFO.WriteLine("$(BUILD_DIR)\\" + libname + ": $(BUILD_DIR)\\" + dllname);
MFO.WriteBlankLines(1);
if (MODE_PHPIZE) {
@@ -1249,7 +1259,7 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir) MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + dllname + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT + ")");
} else {
MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
- MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + dllname + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT + ")");
+ MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + dllname + ldflags + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT + ")");
}
MFO.WriteLine("\t-@$(_VC_MANIFEST_EMBED_DLL)");
MFO.WriteBlankLines(1);
diff --git a/win32/build/template.rc b/win32/build/template.rc index 58cbb991d..cf7f5c45a 100644 --- a/win32/build/template.rc +++ b/win32/build/template.rc @@ -1,5 +1,5 @@ /* This is a template RC file. - * $Id: template.rc 302265 2010-08-15 13:40:29Z pajoye $ + * $Id: template.rc 298283 2010-04-21 23:07:54Z kalle $ * Do not edit with MSVC */ #ifdef APSTUDIO_INVOKED # error dont edit with MSVC diff --git a/win32/inet.h b/win32/inet.h index 7b3821c71..e96d76b24 100644 --- a/win32/inet.h +++ b/win32/inet.h @@ -3,7 +3,7 @@ #endif #include <Ws2tcpip.h> -#if (_WIN32_WINNT <= 0x500) +#if (_WIN32_WINNT <= 0x502) PHPAPI int inet_pton(int af, const char* src, void* dst); PHPAPI const char* inet_ntop(int af, const void* src, char* dst, size_t size); PHPAPI int inet_aton(const char *cp, struct in_addr *inp); diff --git a/win32/install.txt b/win32/install.txt index 12d109b51..b1d4ee514 100644 --- a/win32/install.txt +++ b/win32/install.txt @@ -947,14 +947,6 @@ CGI environment and recommended modifications in php.ini the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables. - - Simply change your scripts to get CGI variables in the correct way for - PHP 5.x by using the superglobal $_SERVER. If you have older scripts - which use $HTTP_HOST, etc., you should turn on register_globals in - php.ini and change the variable order too (important: remove "E" from - it, because you do not need the environment here): -variables_order = "GPCS" -register_globals = On __________________________________________________________________ Special use for error pages or self-made directory listings (PHP >= 4.3.3) @@ -1436,7 +1428,7 @@ The configuration file ; Boolean values can be set to either: ; true, on, yes ; or false, off, no, none -register_globals = off +html_errors = off track_errors = yes ; you can enclose strings in double-quotes @@ -1496,7 +1488,7 @@ Running PHP as an Apache module Example 5-2. Apache configuration example <IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php" - php_admin_flag safe_mode on + php_admin_flag engine on </IfModule> Caution diff --git a/win32/php5dll.dsp b/win32/php5dll.dsp index 335a0d874..2216d7dfe 100644 --- a/win32/php5dll.dsp +++ b/win32/php5dll.dsp @@ -276,10 +276,6 @@ SOURCE=..\main\php.h # End Source File
# Begin Source File
-SOURCE=..\main\php3_compat.h
-# End Source File
-# Begin Source File
-
SOURCE=..\main\php_content_types.h
# End Source File
# Begin Source File
diff --git a/win32/php5dllts.dsp b/win32/php5dllts.dsp index 8471418ec..a8e93ec5e 100644 --- a/win32/php5dllts.dsp +++ b/win32/php5dllts.dsp @@ -301,10 +301,6 @@ SOURCE=..\main\php.h # End Source File
# Begin Source File
-SOURCE=..\main\php3_compat.h
-# End Source File
-# Begin Source File
-
SOURCE=..\main\php_compat.h
# End Source File
# Begin Source File
diff --git a/win32/syslog.reg b/win32/syslog.reg index 0de1dd7f3..4d3e27397 100644 --- a/win32/syslog.reg +++ b/win32/syslog.reg @@ -1,5 +1,5 @@ REGEDIT4
-[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\PHP-5.3.5-dev]
+[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\PHP-5.3.99-dev]
"TypesSupported"=dword:00000007
-"EventMessageFile"="g:\\test\\php53install\\php5ts.dll"
+"EventMessageFile"="g:\\test\\srcinstall6\\php5ts_debug.dll"
diff --git a/win32/winutil.c b/win32/winutil.c index 3ca5e92cd..f78f653c5 100644 --- a/win32/winutil.c +++ b/win32/winutil.c @@ -22,7 +22,7 @@ #include "php.h" #include <wincrypt.h> -PHPAPI char *php_win_err(int error) +PHPAPI char *php_win32_error_to_msg(int error) { char *buf = NULL; diff --git a/win32/winutil.h b/win32/winutil.h index d1033d475..6cb90f7bf 100644 --- a/win32/winutil.h +++ b/win32/winutil.h @@ -16,9 +16,9 @@ +----------------------------------------------------------------------+ */ -PHPAPI char *php_win_err(int error); +PHPAPI char *php_win32_error_to_msg(int error); -#define php_win_err() php_win_err(GetLastError()) +#define php_win_err() php_win32_error_to_msg(GetLastError()) int php_win32_check_trailing_space(const char * path, const int path_len); PHPAPI php_win32_get_random_bytes(unsigned char *buf, size_t size); |