History log of /PHP-7.3/ext/opcache/Optimizer/zend_func_info.c (Results 1 – 25 of 81)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: php-7.3.13RC1, php-7.2.26RC1
# c8e9aa85 30-Nov-2019 Tyson Andre

Fix print_r return types in opcache

https://www.php.net/print_r

> When the return parameter is TRUE, this function will return a string.
> Otherwise, the return value is TRUE.


Revision tags: php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5
# 52499938 25-Oct-2019 Nikita Popov

Fixed bug #78747


Revision tags: php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2
# 29bced95 13-Sep-2019 Tyson Andre

Fix opcache return type for get_headers in zend_func_info

https://www.php.net/manual/en/function.get-headers.php#refsect1-function.get-headers-examples
shows that it will return string k

Fix opcache return type for get_headers in zend_func_info

https://www.php.net/manual/en/function.get-headers.php#refsect1-function.get-headers-examples
shows that it will return string keys when the second argument is
non-zero. I've verified that this is the case.

This bug was there since the initial commit in c88ffa9a567.

Closes GH-4702.

show more ...


Revision tags: php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1
# 9c3b7ccd 03-Sep-2019 Tyson Andre

Fix opcache return type for hash_update_stream

It can return false if the resource type is wrong.

```
php > var_export(hash_update_stream(hash_init('md5'),
imagecrea

Fix opcache return type for hash_update_stream

It can return false if the resource type is wrong.

```
php > var_export(hash_update_stream(hash_init('md5'),
imagecreate(1,1)));

Warning: hash_update_stream(): supplied resource is not a valid stream
resource in php shell code on line 1
false
```

The return types were initially added in
c88ffa9a5673cb3141660626ba1921671f0b84d6

show more ...


Revision tags: php-7.1.32, php-7.2.22, php-7.3.9
# 1e82a2d6 25-Aug-2019 Tyson Andre

Also fix signature for passthru

Backported from a1a8d144854acb1c891cf0c21abb0f612b1d8de7
https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues

Also fix signature for passthru

Backported from a1a8d144854acb1c891cf0c21abb0f612b1d8de7
https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues

`passthru()` is false with invalid args
`passthru('command')` is null.

show more ...


# f5bccc0e 25-Aug-2019 Tyson Andre

Fix opcache optimizer info for time_nanosleep

This can also return an array. See
https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues

Fix opcache optimizer info for time_nanosleep

This can also return an array. See
https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues

> If the delay was interrupted by a signal, an associative array will be
returned with the components:
>
> - seconds - number of seconds remaining in the delay
> - nanoseconds - number of nanoseconds remaining in the delay

Sending a SIGUSR1 to the below program would trigger this behavior.

```
pcntl_signal(\SIGUSR1, function ($signo, $signinfo) {
echo "Handling a signal $signo\n";
});
echo "Sleeping for 100 seconds\n";
var_export(time_nanosleep(100, 0));
```

The incomplete signature existed since c88ffa9a5.
No phpt tests existed for time_nanosleep returning an array

show more ...


Revision tags: php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1
# 5d3e3a62 09-Jun-2019 Tyson Andre

Be more precise about possible types for mysqli methods

mysqli has an uncommon approach to 64-bit compatibility:
it will convert numbers that can't be represented on 32-bit
platforms

Be more precise about possible types for mysqli methods

mysqli has an uncommon approach to 64-bit compatibility:
it will convert numbers that can't be represented on 32-bit
platforms to a string.
This is documented at
https://www.php.net/manual/en/mysqli-stmt.affected-rows.php#refsect1-mysqli-stmt.affected-rows-returnvalues

So if there's a query to a remote mysqli server that affects
more than 2.2 billion rows, then the opcache inference might be
incorrect.

(It's possible to add a MAY_BE_STRING_ON_32_BIT_PLATFORM bitflag macro to
account for this, but I don't think there's a need or want to?)

Patches 3162285b86871fb22a85a50ce9bc30823da64b6a

This is based on the list of php 7.4 functions using
MYSQLI_RETURN_LONG_INT in mysqli_api.c

show more ...


# 07c63c6f 09-Jun-2019 Tyson Andre

Fix opcache signatures for mysqli_stat

See mysqli_api.c and https://www.php.net/manual/en/mysqli.stat.php


# 7350e808 09-Jun-2019 Tyson Andre

Fix bug in opcache flags for mysqli_get_charset

https://www.php.net/manual/en/mysqli.get-charset.php
tests/mysqli_field_seek.phpt has a test of this returning an object.

Looking

Fix bug in opcache flags for mysqli_get_charset

https://www.php.net/manual/en/mysqli.get-charset.php
tests/mysqli_field_seek.phpt has a test of this returning an object.

Looking at the source in ext/mysqli/mysqli_nonapi.c,
this should be object|null, not array|null

This might actually cause bugs in opcache's inferences,
(no proof of this)
so it might make sense to pull this patch into an earlier minor version.

show more ...


Revision tags: php-7.2.19, php-7.3.6, php-7.1.30
# 31ce1cbb 27-May-2019 Nikita Popov

Func info: Fix calls to zero-arg varargs

The num_args does not include variadics, so a "zero-arg" function
may accept additional arguments through that. No functions seem
to be affec

Func info: Fix calls to zero-arg varargs

The num_args does not include variadics, so a "zero-arg" function
may accept additional arguments through that. No functions seem
to be affected right now, but they will be after #4175.

show more ...


Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5
# 9afce019 01-Nov-2018 Zeev Suraski

Future-proof email addresses


Revision tags: php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3, php-7.3.0alpha2, php-7.1.19, php-7.2.7
# 35872c09 15-Jun-2018 Xinchen Hui

Remove assertion


# f31ba7cb 15-Jun-2018 Xinchen Hui

Fixed bug #76477 (Opcache causes empty return value)


Revision tags: php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1
# 5eb1f92f 28-May-2018 Dmitry Stogov

Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.


Revision tags: php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1, php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30, php-7.1.17RC1, php-7.2.5RC1, php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16, php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28, php-7.2.3RC1, php-7.1.15RC1, php-7.1.14, php-7.2.2
# d0ee2a82 19-Jan-2018 Gabriel Caruso

Add is_countable function

RFC: https://wiki.php.net/rfc/is-countable


# 500632ac 18-Feb-2018 Nikita Popov

Fix pfsockopen() func info


# 40ff0013 18-Feb-2018 Nikita Popov

Fix constant() func info

Since PHP 5.6 this can also be an array.


# c404b271 18-Feb-2018 Nikita Popov

Fix pg_pconnect() func info


# 1b54a62f 18-Feb-2018 Nikita Popov

Fix gettext func infos


# a5fa7555 17-Feb-2018 Nikita Popov

More mysqli func info fixes

Mainly changing resource returns to objects


# b889ff30 17-Feb-2018 Nikita Popov

Fix lcfirst() + ucfirst() func info

These may return the original string


# ea1a51f7 17-Feb-2018 Nikita Popov

Fix bcpowmod() func_info

Returns false on error


# 9c4783cb 17-Feb-2018 Nikita Popov

Fix error_get_last() func info


# d59c45d1 17-Feb-2018 Nikita Popov

Fix mysqli_connect() func info

This function returns an object, not a resource...


# 50def51d 17-Feb-2018 Nikita Popov

Fix bcscale() function info

Master only: This function now returns the old scale.


1234