mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Merge branch 'PHP-8.3'
* PHP-8.3: random: Fix unknown `mt_srand()` compatibility for unknown modes (#13544) Merge branch 'PHP-8.2' into PHP-8.3 Removed `REPORT_EXIT_STATUS=no` in libmysql tests Revert "Fix GH-13519: PGSQL_CONNECT_FORCE_RENEW with persistent connections." (#13546)
This commit is contained in:
@@ -480,11 +480,13 @@ PHP_FUNCTION(mt_srand)
|
||||
Z_PARAM_LONG(mode)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
state->mode = mode;
|
||||
|
||||
/* Anything that is not MT_RAND_MT19937 was interpreted as MT_RAND_PHP. */
|
||||
if (state->mode != MT_RAND_MT19937) {
|
||||
switch (mode) {
|
||||
case MT_RAND_PHP:
|
||||
state->mode = MT_RAND_PHP;
|
||||
zend_error(E_DEPRECATED, "The MT_RAND_PHP variant of Mt19937 is deprecated");
|
||||
break;
|
||||
default:
|
||||
state->mode = MT_RAND_MT19937;
|
||||
}
|
||||
|
||||
if (seed_is_null) {
|
||||
|
||||
24
ext/random/tests/01_functions/mt_srand_unknown_mode.phpt
Normal file
24
ext/random/tests/01_functions/mt_srand_unknown_mode.phpt
Normal file
@@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
mt_srand(): Test unknown modes
|
||||
--FILE--
|
||||
<?php
|
||||
// MT_RAND_MT19937
|
||||
mt_srand(1, 0);
|
||||
var_dump(mt_rand());
|
||||
// MT_RAND_PHP
|
||||
mt_srand(1, 1);
|
||||
var_dump(mt_rand());
|
||||
// Unknown
|
||||
mt_srand(1, 2);
|
||||
var_dump(mt_rand());
|
||||
// Equivalent to 0 when cast as unsigned 8-bit integer
|
||||
mt_srand(1, 256);
|
||||
var_dump(mt_rand());
|
||||
?>
|
||||
--EXPECTF--
|
||||
int(895547922)
|
||||
|
||||
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
|
||||
int(1244335972)
|
||||
int(895547922)
|
||||
int(895547922)
|
||||
Reference in New Issue
Block a user