1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 23:48:14 +02:00
Commit Graph

49157 Commits

Author SHA1 Message Date
Nikita Popov 5659035ab6 Remove unnecessary get_hash_table return value checks
An ArrayObject always has a valid backing hashtable, this function
can never return NULL.
2018-10-11 15:06:11 +02:00
Nikita Popov a27f772a46 Remove redundant HASH_OF in mail.c
And use ZEND_HASH_FOREACH_STR_KEY_VAL where the integer key is not
needed.
2018-10-11 13:04:08 +02:00
Nikita Popov 4ca5b35771 Use ARRAY_OR_OBJECT arg in http_build_query
Instead of checking the type manually. Peculiarily the zpp
message does not use "array or object", but that's a general issue.
And I guess it's good that object support is not being advertised.
2018-10-11 13:04:08 +02:00
Nikita Popov 900ee5705f Remove unnecessary HASH_OF uses in mbstring 2018-10-11 13:04:08 +02:00
Nikita Popov 2c7be42853 Drop unnecessary HASH_OF uses in ext/oci8
These only operate on arrays.
2018-10-11 13:04:08 +02:00
Nikita Popov bfaba83102 Remove HASH_OF uses in ext/filter
It turns out that all of these places ultimately only accept arrays,
not objects, so we can use Z_ARRVAL_P everywhere.

Also add _deref in a few places where the hash lookup result is
directly type-checked.
2018-10-11 13:04:08 +02:00
Nikita Popov a710ceee62 Remove leftover code dealing with curl wrappers 2018-10-11 12:12:31 +02:00
Nikita Popov 32d7e08286 Remove some redundant uses of HASH_OF
GET etc are always arrays, they cannot be objects. We just need to
check that they are initialized.
2018-10-11 12:01:18 +02:00
Nikita Popov a8bc3889fd Remember redundant check in filter.c
We already check existence through zend_hash_str_find, no need
to check it twice.
2018-10-11 11:55:16 +02:00
Nikita Popov 76c8d79df6 Merge branch 'PHP-7.3' 2018-10-10 15:00:56 +02:00
Nikita Popov 01948f20b8 Fixed bug #76991
Back up exceptions while the scan-ahead loop, to avoid an early
bail out.
2018-10-10 15:00:18 +02:00
Nikita Popov 4f4d0eccaf Specify timezone in test 2018-10-10 13:28:06 +02:00
Nikita Popov a5fa51afbb Don't overload get_properties for ArrayObject
Instead overload get_properties_for for a few specific cases such
as array casts. This resolves the issue where ArrayObject
get_properties may violate engine invariants in some cases.
2018-10-10 10:39:10 +02:00
Nikita Popov 1270e5008a Migrate ext/date to get_properties_for where appropriate
This resolves the long-standing issue where var_dump
a DateTime (etc) object makes a number of additional properties
accessible, which may also change other behaviors as a side-effect.
2018-10-10 10:39:10 +02:00
Nikita Popov 7ec8087f80 Introduce get_properties_for() handler
This handler allows getting the object properties for a particular
purpose, such as array casting, serialization, etc.
2018-10-10 10:39:10 +02:00
Christoph M. Becker f2856da6e8 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #30875: xml_parse_into_struct() does not resolve entities
2018-10-09 16:09:46 +02:00
Christoph M. Becker 54e152cb92 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #30875: xml_parse_into_struct() does not resolve entities
2018-10-09 16:08:55 +02:00
Christoph M. Becker ebecf569f9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #30875: xml_parse_into_struct() does not resolve entities
2018-10-09 16:06:56 +02:00
Christoph M. Becker 2845f859c1 Fix #30875: xml_parse_into_struct() does not resolve entities
Setting up an empty default handler is not only useless, but actually
harmful, since internal entity-references are not resolved anymore.
From the libexpat docs[1]:

| Setting the handler with this call has the side effect of
| turning off expansion of references to internally defined general
| entities. Instead these references are passed to the default
| handler.

[1] <https://www.xml.com/pub/1999/09/expat/reference.html#setdefhandler>
2018-10-09 16:04:43 +02:00
Derick Rethans d21aa93dd4 Merge branch 'PHP-7.3' 2018-10-09 11:38:01 +01:00
Derick Rethans 1eac7c1ea3 Fixed tests 2018-10-09 11:37:53 +01:00
Derick Rethans e47444d1e1 Added test case for bug #75577 2018-10-09 11:08:40 +01:00
Derick Rethans 09340ea9b9 Fixed bug #75577: DateTime::createFromFormat does not accept 'v' format specifier, by updating timelib to 2018.01alpha2 2018-10-09 11:08:40 +01:00
Derick Rethans d16e23d8c9 Merge branch 'PHP-7.3' 2018-10-09 11:07:15 +01:00
Derick Rethans bb2eaa6d61 Added test case for bug #75577 2018-10-09 11:06:58 +01:00
Derick Rethans 43f7a5735c Fixed bug #75577: DateTime::createFromFormat does not accept 'v' format specifier, by updating timelib to 2018.01alpha2 2018-10-09 11:06:42 +01:00
Dmitry Stogov ca7ccd01e4 During size calculation, pointer should be kept unchanged 2018-10-08 23:52:24 +03:00
Pierrick Charron c4983b179d Merge branch 'PHP-7.3' 2018-10-08 10:21:03 -04:00
Pierrick Charron 64881a1e64 Add constants from curl 7.56 to 7.61 2018-10-08 10:19:35 -04:00
Nikita Popov 01cc547f44 Merge branch 'PHP-7.3' 2018-10-08 13:16:54 +02:00
Nikita Popov d982bbe175 Fix ref ID handling when serializing $GLOBALS
This was already broken previously, but in PHP 7.3 stricter
validation during unserialization made this into an error.
2018-10-08 13:16:23 +02:00
Christoph M. Becker a80456e7dd Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #75851: Year component overflow with date formats "c", "o", "r" and "y"
2018-10-08 11:53:24 +02:00
Christoph M. Becker e68f60b087 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #75851: Year component overflow with date formats "c", "o", "r" and "y"
2018-10-08 11:52:37 +02:00
Christoph M. Becker 1b97f291a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75851: Year component overflow with date formats "c", "o", "r" and "y"
2018-10-08 11:50:37 +02:00
Adam Saponara c097acd52e Fix #75851: Year component overflow with date formats "c", "o", "r" and "y" 2018-10-08 11:48:58 +02:00
Peter Kokot c2cbf37235 Update and refactor shmop extension's README
The shmop functions are documented with more information in the PHP
manual.
2018-10-08 06:27:17 +02:00
Anatol Belski 4acc8500ac Enforce C++11 in ext/intl
ICU 59 already requires C++11 by default. The minimum version required
by the core is 50, which is compiled with at least C++11 in many distros
as package defs tell. Headers for ICU versions between ICU 50 and 58 look
fine when included for C++11 compilation, the linking is thereof not affected.

The macro PHP_CXX_COMPILE_STDCXX is based on
https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
The patch consists on allowing to read the corresponding switch in a user
defined variable instead of enforcing CXXFLAGS globally. That way, every
ext or SAPI can decide, which C++ standard is to be used. The
documentation is provided in the m4 file.

C++11 is already somewhat older standard, C++14 were better. However
issues with GCC < 5.0 and some other compilers are possibly to hit back.
Still there's some time to check for C++14 for ext/intl, too. Having said
that, C++11 in ext/intl and a mechanism to determine features is a good step
towards better C++ support.
2018-10-07 20:00:03 +02:00
bugreportuser cdedc1cb89 mysqli_fork: Fix undefined variable 2018-10-06 14:38:10 -03:00
Pedro Magalhães d87fdd9a96 Merge branch 'PHP-7.3'
* PHP-7.3:
  Remove unstable dns tests
2018-10-06 15:59:05 +01:00
Pedro Magalhães 484b79e868 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Remove unstable dns tests
2018-10-06 15:58:51 +01:00
Pedro Magalhães 608b48e5f4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove unstable dns tests
2018-10-06 15:58:32 +01:00
Pedro Magalhães 49835e1436 Remove unstable dns tests 2018-10-06 15:58:01 +01:00
Pedro Magalhães 418e2264dc Merge branch 'PHP-8.3'
* PHP-7.3:
  Fix #76888 - Remove unstable test
2018-10-06 15:46:30 +01:00
Pedro Magalhães ef36419af4 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #76888 - Remove unstable test
2018-10-06 15:46:11 +01:00
Pedro Magalhães 82e10f3974 Fix #76888 - Remove unstable test 2018-10-06 15:45:07 +01:00
Pedro Magalhães 7862d9c942 Use the locally defined constants for dns record types 2018-10-06 14:58:11 +01:00
Christoph M. Becker 6083a387a8 Unbundle libsqlite3
Since there is no need to patch libsqlite3 for our purposes, and since
libsqlite3 ≥ 3.3.9 (which is our current requirement) is widely
available on distros, there is no reason anymore to bundle the library.

Besides removing the bundled libsqlite, and adapting the configuration
respectively, we also fix the use of the SQLITE_ENABLE_COLUMN_METADATA
compile time constant to detect whether sqlite3_column_table_name() is
available by a working feature detection (otherwise bug_42589.phpt
would fail).  We also skip bug73068.phpt for libsqlite 3.11.0 to
3.14.1 which have a bug (<https://sqlite.org/src/info/ef360601>).

We also completely drop support for the obscure pdo_sqlite_external
extension (which could have been enabled on Windows only by passing
`--pdo-sqlite-external` to configure), since it is not needed anymore.

Furthermore, we remove references to the bundled libsqlite from
Makefile.gcov, CONTRIBUTING.md and README.REDIST.BINS.
2018-10-06 12:36:55 +02:00
Christoph M. Becker 61330b0faf Fix PHPT ENV sections
run-tests.php assumes the contents of an ENV section are a simple list
of key-value-pairs, instead of evaluating the section contents as PHP
script which server-tests.php did.  Since server-tests.php is gone, we
remove the superfluous and confusing scripting.
2018-10-06 12:29:04 +02:00
Anatol Belski 72df422d69 Add test for bug #76942 2018-10-05 22:54:50 +02:00
Anatol Belski 55e0bc9532 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Add test for bug #76942
  Fixed Bug #76942 U_ARGUMENT_TYPE_MISMATCH
2018-10-05 22:53:11 +02:00