Nikita Popov [Tue, 2 Oct 2018 21:28:38 +0000 (23:28 +0200)]
Remove uses of apply_with_arguments API in reflection
Instead of ZEND_HASH_FOREACH. As a side-effect, this fixes a latent
bug in _addmethod, where a zval was interpreted as a zval*.
Also apply some optimizations to getProperties() while at it: For
declared properties, use the HT key instead of unmangling the
property name. For dynamic properties check INDIRECT instead of
looking up prop info to determine if the property is dynamic.
Dmitry Stogov [Mon, 1 Oct 2018 08:19:36 +0000 (11:19 +0300)]
Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (29 commits)
Fix the deplister rule to not ignore the .c file (Anatol)
Update .gitignore to include the Windows deplister program (win32/build/deplister.c)
Bug > Feature Request
NEWS and UPGRADING
Fixed bug #75479
Fix test
Fix some tests and improve coverage for Windows in SPL
Use already set variable
Fix reflection arguments for sodium_memzero function
Deprecate unbinding of $this of non-static methods
Generalize compile_typename
Fixed bug #76737
Fixed bug #72635
Remove and refactor ext/spl/examples
Remove outdated soap examples
Remove unused ext/bz2/php_bz2.def
Remove redundant ce from reflection property_reference
Only store zend_type inside reflection type_reference
Fixed bug #76946
Bump versions for 7.1.24-dev
...
Remi Collet [Mon, 1 Oct 2018 05:18:20 +0000 (07:18 +0200)]
Fixed bug #76908 PDO_OCI getColumnMeta() not implemented
* Letargie-feature-getcolumnmeta:
Removing last unused
Last few changes : . force the nls_date_format . add the scale to the return of the function . add tests on some function return . removing unused variables
cs
Changes : . Add the distinction between NUMBER and FLOAT types . Changing BFLOAT text to be BINARY_FLOAT . Changing BDOUBLE text to be BINARY_DOUBLE . Add the data types names for NCHAR, NVARCHAR and NCLOB . Few changes in the tests
fixing comments
Update oci_statement.c
Add the PDOStatement::getColumnMeta() function to the pdo_oci driver
Remi Collet [Mon, 1 Oct 2018 05:16:48 +0000 (07:16 +0200)]
Fixed bug #76908 PDO_OCI getColumnMeta() not implemented
Merge branch 'feature-getcolumnmeta' of https://github.com/Letargie/php-src into Letargie-feature-getcolumnmeta
* 'feature-getcolumnmeta' of https://github.com/Letargie/php-src:
Removing last unused
Last few changes : . force the nls_date_format . add the scale to the return of the function . add tests on some function return . removing unused variables
cs
Changes : . Add the distinction between NUMBER and FLOAT types . Changing BFLOAT text to be BINARY_FLOAT . Changing BDOUBLE text to be BINARY_DOUBLE . Add the data types names for NCHAR, NVARCHAR and NCLOB . Few changes in the tests
fixing comments
Update oci_statement.c
Add the PDOStatement::getColumnMeta() function to the pdo_oci driver
Deprecate unbinding of $this of non-static methods
Static calls to non-static methods have been fully deprecated in
PHP 7.0 as part of https://wiki.php.net/rfc/reclassify_e_strict.
A combination of ReflectionMethod::getClosure() ("fake closures")
and Closure::bindTo() etc can be used to achieve the same behavior.
This commit ensures that a deprecation notice will be thrown also
in this case.
This seems to be a simple oversight, where we did not enable
exceptions. Other constexpr conditions already throw, so there is
no particular reason to stick to a fatal error here.
Peter Kokot [Wed, 26 Sep 2018 13:35:38 +0000 (15:35 +0200)]
Remove and refactor ext/spl/examples
- Test file from ext/spl/examples has been moved to ext/spl/tests
- Other custom SPL examples and implementations were removed in favor of
the PHP manual.
Only store zend_type inside reflection type_reference
We don't need the full arg_info and the baggage associated with it.
Storing the type should be safe, as it's part of structures which
are never released during a request (arg_info and in the future
prop_info).
If a property access would normally result in a magic method call,
but the property is subject to an active recursion guard, the
access should behave as if the magic method does not exist.
This commit fixes one instance where this was not the case -- we
should have been generating a property access error, but instead
the operation simply did not do anything.
Peter Kokot [Thu, 27 Sep 2018 00:41:54 +0000 (02:41 +0200)]
Rename ext/snmp/tests/bigtest.sh to bigtest
This can avoid some confusions with .gitignored autogenerated `.sh`
files in test directories and to distinguish the autogenerated shell
files from the tracked in Git ones more easily.
Last few changes :
. force the nls_date_format
. add the scale to the return of the function
. add tests on some function return
. removing unused variables
The ctype.xml file has been added with the early ctype extension
implementation and hasn't been updated with the recent changes. Also
file is not used anymore.
- ext/zlib/tests/gzgetss.test
Added via d536ecac5ca34f351f219b880c7983b682c99ec0 as a file content of the
ext/zlib/tests/gzgetss.gzbut but never used in tests directly. Removed for
better clarity of zlib tests
- ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2_absolute.wsdl
- ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.wsdl
- ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.wsdl
Added via 1d25fc5c7b62f763b66a4c745d5e29894419aca9 and never used
This is related to Zend VM regression bug #75881. The regression was fixed in the VM, so there is no user visible change from the termination correction.