1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

118130 Commits

Author SHA1 Message Date
Nikita Popov 217dfc0832 Accept null context in stream_socket_(client|server) 2020-04-09 16:10:27 +02:00
Nikita Popov 2d1bf6970d Add Z_PARAM_RESOURCE_OR_NULL()
As a more explicit alternative to Z_PARAM_RESOURCE_EX(, 1, 0).
2020-04-09 15:39:11 +02:00
Nikita Popov d030ddb2cd Export the zend_string_concat3() API 2020-04-09 15:06:53 +02:00
Nikita Popov 696ae335e3 Export API for fetching internal func default
Make this functionality available outside reflection.
2020-04-09 14:55:55 +02:00
Christoph M. Becker 175e5ed4bf Fix typo (UNKOWN -> UNKNOWN) 2020-04-09 14:06:11 +02:00
George Peter Banyard 12ec7a2730 Convert if blocks to assertions and adapt stubs accordingly 2020-04-09 13:50:37 +02:00
George Peter Banyard 73455778d4 Cache MBFL encoding for Oniguruma regex functions.
Closes GH-5355
2020-04-09 13:48:55 +02:00
Dmitry Stogov 41c2b275f7 cleanup 2020-04-09 14:33:29 +03:00
Dmitry Stogov ba64b3fd41 Don't get number of passed arguments from "fake" INIT frames 2020-04-09 13:38:40 +03:00
Christoph M. Becker e6458d67cf Fix #79462: method_exists and property_exists incoherent behavior
Both functions are closely related, so should behave the same for wrong
input types, i.e. both should throw a TypeError.
2020-04-09 11:38:47 +02:00
Nikita Popov 12324364f7 Add test to make sure internal param default eval doesn't error 2020-04-09 11:22:55 +02:00
Nikita Popov 8ba6a833de Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78434
2020-04-09 10:35:50 +02:00
Nikita Popov 823a956855 Fixed bug #78434
The DO_INIT flag, which will skip the first resume on a primed
generator, should always be set when starting to yield from a
new generator, not only when the yield from happens during priming.
2020-04-09 10:33:11 +02:00
Máté Kocsis 3709e74b5e Store default parameter values of internal functions in arg info
Closes GH-5353. From now on, PHP will have reflection information
about default values of parameters of internal functions.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
2020-04-08 18:37:51 +02:00
Nikita Popov b0d8f012f9 Merge branch 'PHP-7.4'
* PHP-7.4:
  Add php_cli_server_connect() helper
2020-04-08 17:11:50 +02:00
Nikita Popov 1327491224 Add php_cli_server_connect() helper
To encapsulate the repeated fsockopen() code.

This gives us a chance to control the timeout in one place:
Raise it to one second.
2020-04-08 17:10:20 +02:00
Nikita Popov 5293c6d6d4 Merge branch 'PHP-7.4'
* PHP-7.4:
  Make mysqli_poll test more deterministic
2020-04-08 16:38:18 +02:00
Nikita Popov 5317ea6d57 Make mysqli_poll test more deterministic
Handle errors appearing in different order.
2020-04-08 16:36:22 +02:00
Nikita Popov 3ea94ed78e Fix typo in GD stub 2020-04-08 12:03:14 +02:00
Nikita Popov 38d93262a0 Update mb_strrpos() stub
We no longer accept the encoding as 3rd param, so we can make this
a proper int argument.
2020-04-08 12:03:14 +02:00
Dmitry Stogov 3042b2b201 Dump information about trace side exits 2020-04-08 12:39:24 +03:00
Christoph M. Becker 6a67067c21 Merge branch 'PHP-7.4'
* PHP-7.4:
  Relax overly strict test expectation
2020-04-08 11:35:28 +02:00
Christoph M. Becker 73a0719f45 Relax overly strict test expectation
There is no reason to expect a `1` after the PID; neither the session
ID nor the memory usage are required to contain one.  Actually, we just
want to verify here, that the process with the $child_pid is running,
and is a php.exe process.
2020-04-08 11:34:18 +02:00
Christoph M. Becker d4f9d54f1a Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix memory leak introduced by fixing bug #78221
2020-04-08 10:37:28 +02:00
Christoph M. Becker c3ee9d1bb7 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix memory leak introduced by fixing bug #78221
2020-04-08 10:36:57 +02:00
Christoph M. Becker 7e91fcd7f9 Fix memory leak introduced by fixing bug #78221
We have to free the retrieved text content; to keep the code readable,
we extract a helper function to check for empty nodes.  Unfortunately,
we cannot use xmlIsBlankNode(), because that also recognizes whitespace
only text content.

We also make sure to properly handle NULL returns from
xmlNodeGetContent().
2020-04-08 10:35:54 +02:00
Nikita Popov cb338d8c4e Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix test
2020-04-08 09:41:26 +02:00
Nikita Popov 8ff1991503 Fix test 2020-04-08 09:41:14 +02:00
Dmitry Stogov f915b5516c Update stack type, only if necessary 2020-04-08 10:34:24 +03:00
Dmitry Stogov a172e056a0 Fixed TYPE/INFO mismatch 2020-04-08 00:27:19 +03:00
George Peter Banyard 1e8459d626 Merge branch 'PHP-7.4'
* PHP-7.4:
  Revert "Went to fast and forgot to update tests"
  Revert "Fix Bug #79448 0 is a valid Unicode codepoint, but mb_substitute_character(0) fails"
2020-04-07 22:49:17 +02:00
George Peter Banyard 9b98cf3209 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Revert "Went to fast and forgot to update tests"
  Revert "Fix Bug #79448 0 is a valid Unicode codepoint, but mb_substitute_character(0) fails"
2020-04-07 22:27:00 +02:00
George Peter Banyard a0df5f3b54 Revert "Went to fast and forgot to update tests"
This reverts commit 656eac74fa.
2020-04-07 22:24:40 +02:00
George Peter Banyard 6031b08240 Revert "Fix Bug #79448 0 is a valid Unicode codepoint, but mb_substitute_character(0) fails"
This commit brings some substantial changes in behaviour due to the weird implementation.
This will be fixed in master due to BC concerns.

This reverts commit 1333b46d6d.
2020-04-07 22:23:24 +02:00
Dmitry Stogov 4e69970fb7 cleanup 2020-04-07 21:37:10 +03:00
Dmitry Stogov cff7703a61 Revert "cleanup" (wrong commit)
This reverts commit 5db5f71f28.
2020-04-07 21:34:18 +03:00
Dmitry Stogov 5db5f71f28 cleanup 2020-04-07 21:30:47 +03:00
Nikita Popov 07e739a2d5 Remove most uses of _default_get_name()
Instead fetch the name from the respective structure. The only
place where this is still used is ReflectionClassConst,
as zend_class_const does not store the name.
2020-04-07 16:42:40 +02:00
Nikita Popov ab73d142c9 Eliminate uses of _default_load_name()
Instead fetch the name from the function/class/property,
as appropriate. This makes us independent of the property,
and eliminates error conditions related to it.
2020-04-07 16:25:44 +02:00
Nikita Popov 425c6f5815 Optimize internal name fetching in reflection
Directly fetch the name property, instead of construction the
properties hash table and performing a lookup in it. This is both
slow and wastes a lot of memory.
2020-04-07 16:10:19 +02:00
Nikita Popov c81cf1c7af Assert that arginfo parameter name is present 2020-04-07 16:05:33 +02:00
Christoph M. Becker 68139dbdd8 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78221: DOMNode::normalize() doesn't remove empty text nodes
2020-04-07 13:09:10 +02:00
Christoph M. Becker 13c9572a79 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #78221: DOMNode::normalize() doesn't remove empty text nodes
2020-04-07 13:07:33 +02:00
Christoph M. Becker efec22b7be Fix #78221: DOMNode::normalize() doesn't remove empty text nodes
If a text node is not followed by another text node, we remove it, if
its textContent is empty.
2020-04-07 13:04:14 +02:00
Dmitry Stogov 864b1cc3ef Free room for information about register allocation at astact stack and at trace_exit_info. Implement simple deoptimizer. 2020-04-07 12:01:48 +03:00
Dmitry Stogov 4006c0008e Save CPU regesters on side exit for deoptimization 2020-04-06 23:48:20 +03:00
Dmitry Stogov c4bdf41862 Minor register allocator refactoring 2020-04-06 16:17:02 +03:00
Christoph M. Becker 9809713844 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #69264: __debugInfo() ignored while extending SPL classes
2020-04-06 12:04:12 +02:00
Christoph M. Becker 22a077b642 Fix #69264: __debugInfo() ignored while extending SPL classes
We actually implement `::__debugInfo()` and drop the `get_debug_info()`
handlers of all relevant SPL classes.  This is cleaner and gives more
flexibility regarding overriding the functionality in descendant
classes.
2020-04-06 12:01:29 +02:00
Nikita Popov 3e5fdef96e Inline a ZEND_NUM_ARGS() variable 2020-04-06 11:41:44 +02:00