Browse Source

- Moved php_srand() call into php_rand().

# Makes shuffle() and str_shuffle() to be random without having to
# call srand() in scripts.
# They don't internally call php_srand() at all and it would be silly
# to start adding php_srand() calls all over the place..
PEAR_1_4DEV
foobar 23 years ago
parent
commit
e0782e2519
  1. 4
      ext/standard/crypt.c
  2. 8
      ext/standard/rand.c

4
ext/standard/crypt.c

@ -119,10 +119,6 @@ PHP_FUNCTION(crypt)
char *str, *salt_in = NULL;
int str_len, salt_in_len;
if (!BG(rand_is_seeded)) {
php_srand(GENERATE_SEED() TSRMLS_CC);
}
salt[0]=salt[PHP_MAX_SALT_LEN]='\0';
/* This will produce suitable results if people depend on DES-encryption
available (passing always 2-character salt). At least for glibc6.1 */

8
ext/standard/rand.c

@ -65,6 +65,10 @@ PHPAPI long php_rand(TSRMLS_D)
{
long ret;
if (!BG(rand_is_seeded)) {
php_srand(GENERATE_SEED() TSRMLS_CC);
}
#ifdef ZTS
ret = php_rand_r(&BG(rand_seed));
#else
@ -323,10 +327,6 @@ PHP_FUNCTION(rand)
if (argc != 0 && zend_parse_parameters(argc TSRMLS_CC, "ll", &min, &max) == FAILURE)
return;
if (!BG(rand_is_seeded)) {
php_srand(GENERATE_SEED() TSRMLS_CC);
}
number = php_rand(TSRMLS_C);
if (argc == 2) {
RAND_RANGE(number, min, max, PHP_RAND_MAX);

Loading…
Cancel
Save