summaryrefslogtreecommitdiff
path: root/win32
Commit message (Collapse)AuthorAgeFilesLines
* Fix #79884: PHP_CONFIG_FILE_PATH is meaninglessChristoph M. Becker2020-07-231-1/+1
| | | | | | | It does not make sense to make assumptions about `PHP_CONFIG_FILE_PATH` during build time, since that value is never used during run time on Windows. Since there is no `--with-config-file-path` on Windows either, we define `PHP_CONFIG_FILE_PATH` as `""`.
* Don't use deprecated curly brace offset syntaxChristoph M. Becker2020-07-071-2/+2
| | | | | | | (cherry picked from commit 7ec3aa1871074f5de25865af42c984a7668eb85f) Better safe than sorry in case someone ever builds PHP 7.3 with a future version of PHP SDK with bundled PHP 8.
* Fix PVS-Studio integrationChristoph M. Becker2020-05-281-0/+1
| | | | | Without this configuration option, PVS-Studio looks for preprocessed files (*.i), but these do not exists.
* Fix #79146: cscript can fail to run on some systemsDeus Kane2020-01-215-5/+5
| | | | | | | | | In the buildconf and configure batch files, Windows' cscript utility was being run without the /e:jscript flag. This works on systems that have not had the default .js file association changed, but if .js has been re-associated to (say) an IDE, the batch files fail with the error message: Input Error: There is no script engine for file extension ".js".
* Fix #78943: mail() may release string with refcount==1 twiceChristoph M. Becker2019-12-151-3/+0
| | | | | | | | | Since we need `headers_lc` as well as `headers_trim` in the following, we do not release the former even if they are the same string, to avoid complicating the release logic even more. A new test case is not necessary, since we already have mail_basic_alt2-win32.phpt and others.
* Fix #78296: is_file fails to detect fileChristoph M. Becker2019-12-022-2/+20
| | | | | | | | | | | | If we're constructing extended-length paths (i.e. paths prefixed with `\\?\`), we have to replace all forward slashes with backward slashes, because the former are not supported by Windows for extended-length paths. The more efficient and likely cleaner alternative solution would be to cater to this in `php_win32_ioutil_normalize_path_w()` by always replacing forward slashes, but that might break existing code. It might be sensible to change that for `master`, though.
* Fix #78212: Segfault in built-in webserverChristoph M. Becker2019-07-111-0/+4
| | | | | | | | Since syslog's ident and facility parameters have been added to config[1], vsyslog() segfaults on Windows, if openlog() has not been called before. We bring back the removed lines to fix this. [1] <http://git.php.net/?p=php-src.git;a=commit;h=2475337bd8a0fad0dac03db3f5e7e9d331d53653>
* Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-05-091-4/+7
|\ | | | | | | | | * PHP-7.2: Fix erroneous assertions
| * Fix erroneous assertionsChristoph M. Becker2019-05-091-4/+7
| | | | | | | | | | | | | | Since PHP strings are binary safe (i.e. they may contain NUL bytes), we must not assume that strlen()/wcslen() actually return the length of the string. Only if the given in_len is zero, it is safe to assert this.
* | Merge branch 'PHP-7.2' into PHP-7.3Stanislav Malyshev2019-04-291-6/+7
|\ \ | |/ | | | | | | * PHP-7.2: Fix #77821: Potential heap corruption in TSendMail()
| * Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2019-04-291-6/+7
| |\ | | | | | | | | | | | | * PHP-7.1: Fix #77821: Potential heap corruption in TSendMail()
| | * Fix #77821: Potential heap corruption in TSendMail()Christoph M. Becker2019-04-291-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | `zend_string_tolower()` returns a copy (not a duplicate) of the given string, if it is already in lower case. In this case we must not not `zend_string_free()` both strings. The cleanest solution is to call ` zend_string_release()` on both strings, which properly handles the refcount.
| | * Sync leading and final newlines in source code filesPeter Kokot2018-10-1417-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | * Trim trailing whitespace in source code filesPeter Kokot2018-10-1319-122/+122
| | |
| | * Convert CRLF line endings to LFPeter Kokot2018-10-132-265/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch simplifies line endings tracked in the Git repository and syncs them to all include the LF style instead of the CRLF files. Newline characters: - LF (\n) (*nix and Mac) - CRLF (\r\n) (Windows) - CR (\r) (old Mac, obsolete) To see which line endings are in the index and in the working copy the following command can be used: `git ls-files --eol` Git additionally provides `.gitattributes` file to specify if some files need to have specific line endings on all platforms (either CRLF or LF). Changed files shouldn't cause issues on modern Windows platforms because also Git can do output conversion is core.autocrlf=true is set on Windows and use CRLF newlines in all files in the working tree. Unless CRLF files are tracked specifically, Git by default tracks all files in the index using LF newlines.
| * | Fix potential OPcache file cache related issuesAnatol Belski2019-04-111-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | To solve issues detected during testing, we backport the following commits to PHP 7.2: 129c5c1181bf344b37e13fd6dc5dfe76c13d7208 9ac133a0b3863ca4d9659140154ee237e5f4669a ce72bc6b658c335dd37393d0beb28584e6805e97
* | | Ensure double slashes are replaced by the path normalizationAnatol Belski2019-04-101-10/+32
| | |
* | | Fix memory leakAnatol Belski2019-03-301-0/+1
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-03-181-1/+25
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Add bison version check to configure
| * | Add bison version check to configureChristoph M. Becker2019-03-181-1/+25
| | | | | | | | | | | | | | | Since we're already checking for the minimum required re2c version, also checking for the minimum required bison version is sensible.
* | | Merge branch 'PHP-7.2' into PHP-7.3Anatol Belski2019-03-111-2/+6
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Die hard if mc.exe or mt.exe not found
| * | Die hard if mc.exe or mt.exe not foundAnatol Belski2019-03-111-2/+6
| | | | | | | | | | | | | | | Even configure would pass, that producess quite subtle build errors which are better to avoid at configure stage already.
* | | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2018-12-301-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Drop deprecated /Gm compile option
| * | Drop deprecated /Gm compile optionChristoph M. Becker2018-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | The `/Gm` option of `cl` is deprecated[1], and `cl` claims that it will be removed in the future, so we're dropping it right away. [1] <https://docs.microsoft.com/en-us/cpp/build/reference/gm-enable-minimal-rebuild?view=vs-2017>
| * | Sync leading and final newlines in source code filesPeter Kokot2018-10-1411-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| * | Trim trailing whitespace in source code filesPeter Kokot2018-10-1320-130/+130
| | |
| * | Convert CRLF line endings to LFPeter Kokot2018-10-132-268/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch simplifies line endings tracked in the Git repository and syncs them to all include the LF style instead of the CRLF files. Newline characters: - LF (\n) (*nix and Mac) - CRLF (\r\n) (Windows) - CR (\r) (old Mac, obsolete) To see which line endings are in the index and in the working copy the following command can be used: `git ls-files --eol` Git additionally provides `.gitattributes` file to specify if some files need to have specific line endings on all platforms (either CRLF or LF). Changed files shouldn't cause issues on modern Windows platforms because also Git can do output conversion is core.autocrlf=true is set on Windows and use CRLF newlines in all files in the working tree. Unless CRLF files are tracked specifically, Git by default tracks all files in the index using LF newlines.
* | | Future-proof email addressesZeev Suraski2018-11-013-3/+3
| | |
* | | Sync leading and final newlines in source code filesPeter Kokot2018-10-1412-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | | Trim trailing whitespace in source code filesPeter Kokot2018-10-138-83/+83
| | |
* | | Convert CRLF line endings to LFPeter Kokot2018-10-132-267/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch simplifies line endings tracked in the Git repository and syncs them to all include the LF style instead of the CRLF files. Newline characters: - LF (\n) (*nix and Mac) - CRLF (\r\n) (Windows) - CR (\r) (old Mac, obsolete) To see which line endings are in the index and in the working copy the following command can be used: `git ls-files --eol` Git additionally provides `.gitattributes` file to specify if some files need to have specific line endings on all platforms (either CRLF or LF). Changed files shouldn't cause issues on modern Windows platforms because also Git can do output conversion is core.autocrlf=true is set on Windows and use CRLF newlines in all files in the working tree. Unless CRLF files are tracked specifically, Git by default tracks all files in the index using LF newlines.
* | | Fixed bug #76947 file_put_contents() blocks the directory of the file (__DIR__)Anatol Belski2018-10-031-5/+0
| | | | | | | | | | | | | | | The condition was wrong. The target buffer size only matters, when some output is going to be copied into it.
* | | Merge branch 'PHP-7.2' into PHP-7.3Anatol Belski2018-09-181-0/+5
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Add spectre switch for suitable vc14 versions
| * | Merge branch 'PHP-7.1' into PHP-7.2Anatol Belski2018-09-181-0/+5
| |\ \ | | |/ | | | | | | | | | * PHP-7.1: Add spectre switch for suitable vc14 versions
| | * Add spectre switch for suitable vc14 versionsAnatol Belski2018-09-181-0/+5
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Anatol Belski2018-09-131-0/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Sync version for vc++ 15.9
| * | Merge branch 'PHP-7.1' into PHP-7.2Anatol Belski2018-09-131-0/+2
| |\ \ | | |/ | | | | | | | | | * PHP-7.1: Sync version for vc++ 15.9
| | * Sync version for vc++ 15.9Anatol Belski2018-09-131-0/+2
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Anatol Belski2018-08-231-5/+5
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: mkdist.php: recursively check dll dependencies
| * | Merge branch 'PHP-7.1' into PHP-7.2Anatol Belski2018-08-231-5/+5
| |\ \ | | |/ | | | | | | | | | * PHP-7.1: mkdist.php: recursively check dll dependencies
| | * mkdist.php: recursively check dll dependenciesDylan K. Taylor2018-08-231-5/+5
| | | | | | | | | | | | Fix duplication of recursively checked deps
* | | Remove asan incompatible optionsAnatol Belski2018-08-031-3/+0
| | |
* | | Suppress more irrelevant clang warningsAnatol Belski2018-08-011-3/+3
| | |
* | | Replace obsolete AC_STRUCT_ST_BLKSIZE and AC_STRUCT_ST_RDEVPeter Kokot2018-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autoconf 2.50 released in 2001 has made several macros obsolete. Instead of the AC_STRUCT_ST_BLKSIZE and AC_STRUCT_ST_RDEV the new AC_CHECK_MEMBERS should be used. When checking for the presence of stat struct members st_blkzize and st_rdev the new AC_CHECK_MEMBERS macro defines new constants HAVE_STRUCT_STAT_ST_BLKSIZE and HAVE_STRUCT_STAT_ST_RDEV. Old constants HAVE_ST_BLKSIZE and HAVE_ST_RDEV need to be replaced respectively in PHP code (this patch) and in PHP extenstions if they use them. PHP 5.4 to 7.1 require Autoconf 2.59+ version, PHP 7.2 and above require 2.64+ version, and the PHP 7.2 phpize script requires 2.59+ version which are all greater than above mentioned 2.50 version.
* | | Fix typos in codePeter Kokot2018-07-271-1/+1
| | |
* | | Fix typos in code commentsPeter Kokot2018-07-251-1/+1
| | |
* | | Remove unused Git attributes identPeter Kokot2018-07-2525-40/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* | | Fix HKEY registry path (not that it should matter, dead code, Anatol?)Kalle Sommer Nielsen2018-07-231-1/+1
| | |
* | | Avoid early allocationAnatol Belski2018-07-131-7/+6
| | |
* | | Merge branch 'PHP-7.2'Anatol Belski2018-07-121-9/+38
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Fixed RecursiveDirectoryIterator with long path or with edge case length