Show the correct parameter names and numbers - the errors are caused by the
second parameter being empty or having null bytes, not the first.
close GH-15755
This test performs a few checks to ensure that "not too much" memory
is used while fileinfo is detecting encodings. It is however platform
specific, and memory usage varies across hosts and as libmagic changes.
Recently a Gentoo user reported a failure in this test at,
https://bugs.gentoo.org/927461
on a big-endian PPC64 machine with output,
---- EXPECTED OUTPUT
131072 => ok
262144 => ok
524288 => ok
1048576 => ok
2097152 => ok
4194304 => ok
8388608 => ok
16777216 => ok
---- ACTUAL OUTPUT
131072 => 10092544
262144 => 10092544
524288 => 12189696
1048576 => 12189696
2097152 => 14352384
4194304 => 18612224
8388608 => 24903680
16777216 => 37486592
---- FAILED
Those numbers are with 8.3.4 and therefore missing commit b7c5813c
which also raises the limits. Checking the "actual" numbers above
against the current values, we see that the limit for 524288 would
need to be bumped to 12189696 to allow this test to pass. Since that
seems reasonable, that's what this commit does.
Closes GH-13795
Closes GH-13940
The peak memory usage increased by the blanket 1mb on s390 only.
This is good to note but otherwise seems acceptable, so just
adjusting the test is fine.
Signed-off-by: Anatol Belski <ab@php.net>
This reverts commit 343d1c2b1f.
Also remove the incompatible test data for time being. The new line
handling will need an extra fix.
Signed-off-by: Anatol Belski <ab@php.net>
Integrating the upstream tests is important to ensure the quality of the
patch and to ensure the parity in the function.
Signed-off-by: Anatol Belski <ab@php.net>
For rationale, see https://github.com/php/php-src/pull/6787
Make extension checks lowercase, add a special case for opcache
that has internal name not matching .so filename.
Extensions migrated in part 2:
* dom
* exif
* fileinfo
* ffi
This deprecates passing null to non-nullable scale arguments of
internal functions, with the eventual goal of making the behavior
consistent with userland functions, where null is never accepted
for non-nullable arguments.
This change is expected to cause quite a lot of fallout. In most
cases, calling code should be adjusted to avoid passing null. In
some cases, PHP should be adjusted to make some function arguments
nullable. I have already fixed a number of functions before landing
this, but feel free to file a bug if you encounter a function that
doesn't accept null, but probably should. (The rule of thumb for
this to be applicable is that the function must have special behavior
for 0 or "", which is distinct from the natural behavior of the
parameter.)
RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg
Closes GH-6475.
Besides our general desire to get rid of the legacy resource types,
this is particularly appealing for fileinfo, because there are already
respective objects.
Closes GH-5987.