1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 01:18:19 +02:00
Commit Graph

2227 Commits

Author SHA1 Message Date
Levi Morrison 66c3e900e2 Add zend_observer API
Closes GH-5857.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Co-authored-by: Sammy Powers <sammyk@datadoghq.com>
2020-09-01 09:59:59 -06:00
George Peter Banyard 1b2ec73c1d Drop various unused macros/APIs
Also convert_libmagic_pattern() to return a zend_string*

Closes GH-6029
2020-08-26 12:59:43 +02:00
George Peter Banyard dae83cd7cb Use ZPP callable check for Windows specific functions 2020-08-13 21:14:50 +02:00
Christoph M. Becker 2538e31b58 Fix signature of callback function
Cf. <https://docs.microsoft.com/en-us/windows/win32/api/imagehlp/nc-imagehlp-pimagehlp_status_routine>.
2020-08-10 23:26:54 +02:00
Christoph M. Becker 4293dd5d34 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79884: PHP_CONFIG_FILE_PATH is meaningless
2020-07-23 15:43:02 +02:00
Christoph M. Becker 3deb6b555a Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79884: PHP_CONFIG_FILE_PATH is meaningless
2020-07-23 15:41:20 +02:00
Christoph M. Becker 15efb96d4c Fix #79884: PHP_CONFIG_FILE_PATH is meaningless
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 `""`.
2020-07-23 15:39:22 +02:00
twosee 6e92487f66 Fix warnings of strict-prototypes
Closes GH-5887.
2020-07-23 00:59:00 +08:00
Christoph M. Becker b31c787401 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix readlink related memory leak
2020-07-16 09:18:45 +02:00
Christoph M. Becker 27bb0d9164 Fix readlink related memory leak 2020-07-16 09:16:48 +02:00
Martin Schröder 547d98b81d Support socketpairs in proc_open()
Closes GH-5777.
2020-07-14 10:35:45 +02:00
Christoph M. Becker 340e2ead77 Export php_gd_libgdimageptr_from_zval_p()
Some extension may need to retrieve the `gdImagePtr` from an `GdImage`
object; thus, we export the respective function.  To not being forced
to include gd.h in php_gd.h, we use the opaque `struct gdImageStruct *`
as return type.

We also rename php_gd2.dll to php_gd.dll, since there's not really much
point in giving the DLL a version number, since there is no php_gd.dll
for years (if there ever has been).  Renaming, on the other hand,
matches the name on other systems (gd.so), and allows to actually use
`ADD_EXTENSION_DEP()`.
2020-07-11 19:33:20 +02:00
Christoph M. Becker f23bd48892 Don't use deprecated curly brace offset syntax
(cherry picked from commit 7ec3aa1871)

Better safe than sorry in case someone ever builds PHP 7.3 with a
future version of PHP SDK with bundled PHP 8.
2020-07-07 13:55:08 +02:00
Christoph M. Becker af32f96c23 Merge branch 'PHP-7.4'
* PHP-7.4:
  Don't use deprecated curly brace offset syntax
2020-07-07 13:26:42 +02:00
Christoph M. Becker 7ec3aa1871 Don't use deprecated curly brace offset syntax 2020-07-07 13:24:41 +02:00
Max Semenik 2b5de6f839 Remove proto comments from C files
Closes GH-5758
2020-07-06 21:13:34 +02:00
Christoph M. Becker 6cef9331fd define build system and provider on Windows 2020-07-06 10:54:43 +02:00
Christoph M. Becker 07ff243f07 Fix macro redifinition warnings in debug builds
MSVC considers these warnings[1] to be severe (level 1), so we better
fix the respective code.

[1] <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4005?view=vs-2019>
2020-06-29 19:11:22 +02:00
Christoph M. Becker 68dd6cc92b Control VCRT leak reporting via environment variable in debug builds
Formerly, this had to be enabled by passing the configuration flag
`--enable-crt-debug`; now it can be enabled by setting the environment
variable `PHP_WIN32_DEBUG_HEAP`.  The advantage is that it is no longer
necessary to do separate builds, at the cost of a very minor
performance penalty during process startup.
2020-06-10 09:05:17 +02:00
twosee 88355dd338 Constify char * arguments of APIs
Closes GH-5676.
2020-06-08 10:38:45 +02:00
Christoph M. Becker 3a031e0b03 Drop hard-coded /W3 default in favor of custom CFLAGS
Building with `/W3` shows an awful lot of warnings on Windows, so it's
really hard to spot the more important ones.  Since it is not possible
to override the hard-coded `/W3`, we drop it altogether, so MSVC uses
the default `/W1`.  Users are encouraged to increase the warning level
via the environment variable `CFLAGS` before doing configure.

We also enable `/WX` (treat warnings as errors) for AppVeyor CI, using
`/W1` for now, since otherwise the build would fail.
2020-06-05 11:17:06 +02:00
Christoph M. Becker 5a04796f76 Fix MSVC level 1 (severe) warnings
We fix (hopefully) all instances of:

* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4005>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4024>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4028>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4047>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4087>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4090>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4273>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4312>

`zend_llist_add_element()` and `zend_llist_prepend_element()` now
explicitly expect a *const* pointer.

We use the macro `ZEND_VOIDP()` instead of a `(void*)` cast to suppress
C4090; this should prevent accidential removal of the cast by
clarifying the intention, and makes it easier to remove the casts if
the issue[1] will be resolved sometime.

[1] <https://developercommunity.visualstudio.com/content/problem/390711/c-compiler-incorrect-propagation-of-const-qualifie.html>
2020-06-05 11:17:05 +02:00
Benjamin Eberlei a7908c2d11 Add Attributes
Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
2020-06-04 18:19:49 +02:00
Christoph M. Becker 6b769a3dc6 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix PVS-Studio integration
2020-05-28 15:35:47 +02:00
Christoph M. Becker 8068fad481 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix PVS-Studio integration
2020-05-28 15:34:09 +02:00
Christoph M. Becker 744f9016c4 Fix PVS-Studio integration
Without this configuration option, PVS-Studio looks for preprocessed
files (*.i), but these do not exists.
2020-05-28 15:23:37 +02:00
Christoph M. Becker ca6dd7e984 Fix --disable-ipv6 support on Windows
`HAVE_IPV6` and `HAVE_GAI_STRERROR` are supposed to be undefined now,
if not supported.
2020-05-20 15:13:53 +02:00
Christoph M. Becker 4631b4e813 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79557: extension_dir = ./ext now use current directory for base
2020-05-15 09:24:07 +02:00
Christoph M. Becker 8c6d006b55 Fix #79557: extension_dir = ./ext now use current directory for base
For some reason, `ImageLoad()` fails to load images with a relative
path starting with `.\`  or `./`.  We work around this issue by
stripping those leading characters.
2020-05-15 09:23:18 +02:00
Christoph M. Becker f6ae728f56 Remove unused variable 2020-05-14 17:55:31 +02:00
George Peter Banyard 8d346f7679 Use ZPP int|string and add ValueError for Windows codepages
Closes GH-5517
2020-05-04 12:44:54 +02:00
Christoph M. Becker 54cf9a26c1 Use libenchant2 if available on Windows
This is basically the same as commit 3427545[1], but for Windows.

[1] <http://git.php.net/?p=php-src.git;a=commitdiff;h=342754575237da912874f781a24eefe76434ce5a>
2020-05-04 11:27:00 +02:00
Christoph M. Becker 38ecfe0245 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79532: sizeof off_t can be wrong
2020-04-29 10:43:35 +02:00
Christoph M. Becker 67f9b0b754 Fix #79532: sizeof off_t can be wrong
We have to actually determine the proper `SIZEOF_OFF_T`.
Interestingly, it is `4` on Windows x64.

We also have to prevent the redefinition in pg_config.h.  The clean
solution would likely be to not include pg_config.h at all, but that's
out of scope for BC reasons for now.
2020-04-29 10:40:59 +02:00
Christoph M. Becker e2f1586225 Add gen_stub.php to devel pack 2020-04-26 12:33:33 +02:00
Christoph M. Becker 767a77ac19 Fix #36365: scandir duplicates file name at every 65535th file
Since DIR_W32.offset is declared as `uint16_t`, we have an overflow for
directories with many entries.  This patch changes the field to
`uint32_t`.
2020-04-24 09:47:56 +02:00
George Peter Banyard f91f72607b Drop unnecessary stdint and inttypes header checks
These are always available as of C99.

Closes GH-5323

Co-authored-by: "Christoph M. Becker" <cmbecker69@gmx.de>
2020-04-22 20:18:19 +02:00
Máté Kocsis 6111d64cda Improve a last couple of argument error messages
Closes GH-5404
2020-04-20 13:09:00 +02:00
George Peter Banyard 457380cae7 Drop wchar header check as always defined since C95 2020-03-31 00:14:56 +02:00
Nikita Popov 97cb81ead5 Remove HAVE_REALPATH checks
We do not actually use realpath(), but a custom implementation.
Make sure the realpath() function is always available.

Closes GH-5290.
2020-03-26 11:46:00 +01:00
Nikita Popov 84854a72c7 Remove mergesort implementation
php_mergesort() isn't being used for anything, and hasn't been for
a long time. Even if we wanted to use a stable sort, this isn't
the implementation we'd use...
2020-02-27 10:36:01 +01:00
Nikita Popov 169805777c Merge branch 'PHP-7.4'
* PHP-7.4:
  Apply tidy formatting
2020-02-03 13:42:08 +01:00
Nikita Popov 58b17906f5 Apply tidy formatting
Mostly reindent PHP scripts to spaces.
2020-02-03 13:41:31 +01:00
Akim Demaille 4cbffd89d9 Clean up the generation of the parsers
Prefer '%define api.value.type' to '#define YYSTYPE', so that Bison
know the type.

Use '%code requires' to declare what is needed to define the api.value.type
(that code is output in the generated header before the generated
definition of YYSTYPE).

Prefer '%define api.prefix' inside the grammar file to '-p' outside,
as anyway the functions defined in the file actually use this prefix.

Prefer `%param` to both `%parse-param` and `%lex-param`.

Closes GH-5138
2020-02-01 14:21:53 +01:00
Christoph M. Becker a93ce58862 Merge branch 'PHP-7.4'
* PHP-7.4:
  Enable UBSan in addition to ASan
2020-01-23 12:00:50 +01:00
Christoph M. Becker ea3afcbae3 Enable UBSan in addition to ASan
UBSan is a useful tool, so we enable it for `--enable-sanitizer` in
addition to ASan.
2020-01-23 12:00:11 +01:00
Christoph M. Becker 5a6f3de8ac Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79146: cscript can fail to run on some systems
2020-01-21 11:54:33 +01:00
Christoph M. Becker b0f8d38f4a Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79146: cscript can fail to run on some systems
2020-01-21 11:54:11 +01:00
Deus Kane 3046e35718 Fix #79146: cscript can fail to run on some systems
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".
2020-01-21 11:53:11 +01:00
Máté Kocsis afdaa91170 Fix #78880: Final spelling fixes 2020-01-16 19:14:31 +01:00