Fix pre-PHP 8.2 compatibility for php_mt_rand_range() with MT_RAND_PHP #9839
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Example: https://3v4l.org/0gEEY
As some left-over comments indicated:
The broken scaler was only used for
php_mt_rand_common()
, notphp_mt_rand_range()
. The former is only used formt_rand()
, whereas the latter is used forarray_rand()
and others.With the refactoring for the introduction of ext/random
php_mt_rand_common()
andphp_mt_rand_range()
were accidentally unified, thus introducing a behavioral change that was reported in FakerPHP/Faker#528.This commit moves the checks for
MT_RAND_PHP
from the general-purposerange()
function back intophp_mt_rand_common()
and also intoRandomizer::getInt()
for drop-in compatibility withmt_rand()
.