| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Closes GH-6367
|
|
|
|
|
|
|
|
| |
This is an unavoidable breaking change to both the type and
parameter name.
The assertion that was supposed to prevent this was overly lax
and accepted any object type for string parameters.
|
|\
| |
| |
| |
| | |
* PHP-7.4:
Fix #80268: loadHTML() truncates at NUL bytes
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.3:
Fix #80268: loadHTML() truncates at NUL bytes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
libxml2 has no particular issues parsing HTML strings with NUL bytes;
these just cause truncation of the current text content, but parsing
continues generally. Since `::loadHTMLFile()` already supports NUL
bytes, `::loadHTML()` should as well.
Note that this is different from XML, which does not allow any NUL
bytes.
Closes GH-6368.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Not all extensions consistently throw exceptions when the user passes
a path name containing null bytes. Also, some extensions would throw
a ValueError while others would throw a TypeError. Error messages
also varied.
Now a ValueError is thrown after all failed path checks, at least for
as far as these occur in functions that are exposed to userland.
Closes GH-6216.
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-5418
|
| | |
| | |
| | |
| | |
| | | |
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
|
| | |
| | |
| | |
| | |
| | |
| | | |
In preparation for generating method signatures for the manual.
This change gets rid of bogus false|null return types, a few unnecessary trailing backslashes, and settles on using ? when possible for nullable types.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
They will now follow the canonical order of types. Older macros are
left intact due to maintaining BC.
Closes GH-6112
|
| | |
| | |
| | |
| | | |
Closes GH-5999
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-5955
|
| | |
| | |
| | |
| | | |
Per general convention for handling of uninitialized objects.
|
| | |
| | |
| | |
| | | |
Closes GH-5958
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From an engine perspective, named parameters mainly add three
concepts:
* The SEND_* opcodes now accept a CONST op2, which is the
argument name. For now, it is looked up by linear scan and
runtime cached.
* This may leave UNDEF arguments on the stack. To avoid having
to deal with them in other places, a CHECK_UNDEF_ARGS opcode
is used to either replace them with defaults, or error.
* For variadic functions, EX(extra_named_params) are collected
and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS.
RFC: https://wiki.php.net/rfc/named_params
Closes GH-5357.
|
| | |
| | |
| | |
| | | |
Co-authored-by: Thomas Weinert <thomas@weinert.info>
|
| | |
| | |
| | |
| | |
| | | |
Only one of three identical cases returned true, and the function
is documented to return void. Remove the outlier.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-5590
|
| | | |
|
| | |
| | |
| | |
| | | |
All of these clearly do not need separation support.
|
| | |
| | |
| | |
| | | |
Closes GH-5758
|
| | |
| | |
| | |
| | | |
Optional handler with the same semantics as the object handler.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Userland classes that implement Traversable must do so either
through Iterator or IteratorAggregate. The same requirement does
not exist for internal classes: They can implement the internal
get_iterator mechanism, without exposing either the Iterator or
IteratorAggregate APIs. This makes them usable in get_iterator(),
but incompatible with any Iterator based APIs.
A lot of internal classes do this, because exposing the userland
APIs is simply a lot of work. This patch alleviates this issue by
providing a generic InternalIterator class, which acts as an
adapater between get_iterator and Iterator, and can be easily
used by many internal classes. At the same time, we extend the
requirement that Traversable implies Iterator or IteratorAggregate
to internal classes as well.
Closes GH-5216.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The hash is used to check whether the arginfo file needs to be
regenerated. PHP-Parser will only be downloaded if this is actually
necessary.
This ensures that release artifacts will never try to regenerate
stubs and thus fetch PHP-Parser, as long as you do not modify any
files.
Closes GH-5739.
|
| | |
| | |
| | |
| | |
| | | |
For the common ZVAL_OBJ + GC_ADDREF pattern.
This mirrors the existing ZVAL_STR_COPY API.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Closes GH-5446
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-5514
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
* PHP-7.4:
Revert "Fix #79065: DOM classes do not expose properties to Reflection"
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 6bc8f7e5a9949b2ba79376abd1ed13d0b4d0ae3c.
This causes an assertion failure in PHPUnit.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-7.4:
Fix #79065: DOM classes do not expose properties to Reflection
|
| |/ /
| | |
| | |
| | |
| | | |
We add a `get_properties` handler which complements the already
existing `has_property` and `read_property`handlers.
|
| | |
| | |
| | |
| | | |
Closes GH-5404
|
| | |
| | |
| | |
| | | |
Closes GH-5374
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-5368
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix memory leak introduced by fixing bug #78221
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
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().
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix #78221: DOMNode::normalize() doesn't remove empty text nodes
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
Fix #78221: DOMNode::normalize() doesn't remove empty text nodes
|