From e0782e2519ef2cfeeace3f733f8bd0ce71b38aa6 Mon Sep 17 00:00:00 2001 From: foobar Date: Mon, 19 Jan 2004 03:14:58 +0000 Subject: [PATCH] - 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.. --- ext/standard/crypt.c | 4 ---- ext/standard/rand.c | 8 ++++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index 207e1d8b60..3d7ac50f41 100644 --- a/ext/standard/crypt.c +++ b/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 */ diff --git a/ext/standard/rand.c b/ext/standard/rand.c index a219926c96..851508c45c 100644 --- a/ext/standard/rand.c +++ b/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); -- 2.50.1