diff options
author | foobar <sniper@php.net> | 2003-08-11 00:42:29 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2003-08-11 00:42:29 +0000 |
commit | 9a2a0aa5e13ca6df44e30e3474049a8f680d7c5c (patch) | |
tree | 4fb319e21c5a1a2b804681cea093e6e6db7c1eb3 /ext/standard/php_rand.h | |
parent | ad29f2f0064c56d1f464410511adbcab1a42938a (diff) | |
download | php-git-9a2a0aa5e13ca6df44e30e3474049a8f680d7c5c.tar.gz |
- Fixed bug #25007 (rand() & mt_rand() seed RNG every call).
# Also cleaned up the code a bit with this fix.
Diffstat (limited to 'ext/standard/php_rand.h')
-rw-r--r-- | ext/standard/php_rand.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/standard/php_rand.h b/ext/standard/php_rand.h index b770386850..16f03bdec2 100644 --- a/ext/standard/php_rand.h +++ b/ext/standard/php_rand.h @@ -45,6 +45,12 @@ /* MT Rand */ #define PHP_MT_RAND_MAX ((long) (0x7FFFFFFF)) /* (1<<31) - 1 */ +#ifdef PHP_WIN32 +#define GENERATE_SEED() ((long) (time(0) * GetCurrentProcessId() * 1000000 * php_combined_lcg(TSRMLS_C))) +#else +#define GENERATE_SEED() ((long) (time(0) * getpid() * 1000000 * php_combined_lcg(TSRMLS_C))) +#endif + PHPAPI void php_srand(long seed TSRMLS_DC); PHPAPI long php_rand(TSRMLS_D); PHPAPI void php_mt_srand(php_uint32 seed TSRMLS_DC); |