On 11.03.2019 10:51, Nikita Popov wrote:
Both changes sound reasonable to me. Could you show some examples
where the
output is going to change due to the zend_ulong->zend_long switch?
Nikita
Sure!
For example
var_dump(decbin(9223372036854775807));
would currently show
string(64)
"1000000000000000000000000000000000000000000000000000000000000000"
After these changes it would show
string(65)
"-000000000000000000000000000000000000000000000000000000000000000"
var_dump(decbin(9223372036854775806));
would be the same for both showing.
string(63)
"111111111111111111111111111111111111111111111111111111111111110"
As the code is reused for decbin etc all of the helper functions have a
similar effect.
Also userland code would look like this currently
$converted = base_convert($original, 2, 10);
if ($original < 0) {
$converted = - $converted;
}
So anyone who use coded around this will also break.
I have pushed some fixed suggested to the PR again all comments
welcome, my C is quite rusty so happy to change anything
Thanks
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php