From: Daniel Beulshausen Date: Tue, 4 Sep 2001 02:19:30 +0000 (+0000) Subject: fix zts+win32 build X-Git-Tag: PRE_SUBST_Z_MACROS~243 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9b8886410dd70bdfd54b751df34e2b3cec9692b5;p=php fix zts+win32 build --- diff --git a/ext/standard/array.c b/ext/standard/array.c index d08bacdb55..9e4d1e2c7e 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -2765,7 +2765,7 @@ PHP_FUNCTION(array_rand) - randval = php_drand(); + randval = php_drand(TSRMLS_C); if (randval < (double)num_req_val/(double)num_avail) { /* If we are returning a single result, just do it. */ if (Z_TYPE_P(return_value) != IS_ARRAY) { diff --git a/ext/standard/php_rand.h b/ext/standard/php_rand.h index 1efbbd4bb6..d90b5583aa 100644 --- a/ext/standard/php_rand.h +++ b/ext/standard/php_rand.h @@ -58,8 +58,8 @@ /* FIXME: that '_php_randgen_entry' needed, or not? */ typedef struct _php_randgen_entry { - void (*srand)(long seed); - long (*rand)(void); + void (*srand)(long seed TSRMLS_DC); + long (*rand)(TSRMLS_D); long randmax; char *ini_str; } php_randgen_entry; @@ -99,10 +99,10 @@ PHP_FUNCTION(mt_srand); PHP_FUNCTION(mt_rand); PHP_FUNCTION(mt_getrandmax); -PHPAPI long php_rand(void); +PHPAPI long php_rand(TSRMLS_D); PHPAPI long php_rand_range(long min, long max TSRMLS_DC); -PHPAPI double php_drand(void); -PHPAPI long php_randmax(void); +PHPAPI double php_drand(TSRMLS_D); +PHPAPI long php_randmax(TSRMLS_D); #endif /* PHP_RAND_H */ diff --git a/ext/standard/rand.c b/ext/standard/rand.c index ef0e41507e..a51ce4c940 100644 --- a/ext/standard/rand.c +++ b/ext/standard/rand.c @@ -38,8 +38,8 @@ php_randgen_entry *php_randgen_entries[PHP_RAND_NUMRANDS]; #define PHP_HAS_SRAND(which) (php_randgen_entries[which] && php_randgen_entries[which]->srand) -#define PHP_SRAND(which,seed) ((*(php_randgen_entries[which]->srand))(seed)) -#define PHP_RAND(which) ((*(php_randgen_entries[which]->rand))()) +#define PHP_SRAND(which,seed) ((*(php_randgen_entries[which]->srand))(seed TSRMLS_CC)) +#define PHP_RAND(which) ((*(php_randgen_entries[which]->rand))(TSRMLS_C)) #define PHP_RANDMAX(which) (php_randgen_entries[which]->randmax) #define PHP_RAND_INISTR(which) (php_randgen_entries[which]->ini_str) @@ -51,6 +51,8 @@ PHP_MINIT_FUNCTION(rand) PHP_MINIT(rand_mt)(INIT_FUNC_ARGS_PASSTHRU); /* lcg not yet implemented */ php_randgen_entries[PHP_RAND_LCG] = NULL; + + return SUCCESS; } /* TODO: check that this function is called on the start of each script @@ -72,6 +74,8 @@ PHP_RINIT_FUNCTION(rand) PHP_SRAND(i,SRAND_A_RANDOM_SEED); } } + + return SUCCESS; } /* INI */ @@ -128,7 +132,6 @@ PHP_FUNCTION(name) \ { \ zval **seed; \ zval **alg; \ - TSRMLS_FETCH(); \ \ switch (ZEND_NUM_ARGS()) { \ case 0: \ @@ -177,7 +180,7 @@ pim_srand_common(mt_srand,PHP_RAND_MT) /* rand */ /* {{{ PHPAPI long php_rand(void) */ -PHPAPI long php_rand(void) +PHPAPI long php_rand(TSRMLS_D) { return PHP_RAND(CURR_GEN); } @@ -185,9 +188,9 @@ PHPAPI long php_rand(void) /* {{{ PHPAPI double php_drand(void) * returns a double in the range [0,1) */ -PHPAPI double php_drand(void) +PHPAPI double php_drand(TSRMLS_D) { - return (double)php_rand() / + return (double)php_rand(TSRMLS_C) / (double)(PHP_RANDMAX(CURR_GEN)+1.0); } /* }}} */ @@ -279,7 +282,7 @@ PHP_FUNCTION_RAND(mt_rand,PHP_RAND_MT) /* {{{ PHPAPI long php_randmax(void) Returns the maximum value a random number can have */ -PHPAPI long php_randmax(void) +PHPAPI long php_randmax(TSRMLS_D) { return PHP_RANDMAX(CURR_GEN); } @@ -293,7 +296,7 @@ PHP_FUNCTION(getrandmax) WRONG_PARAM_COUNT; } - RETURN_LONG( php_randmax()); + RETURN_LONG( php_randmax(TSRMLS_C)); } /* }}} */ @@ -305,7 +308,7 @@ PHP_FUNCTION(mt_getrandmax) WRONG_PARAM_COUNT; } - RETURN_LONG( php_randmax() ); + RETURN_LONG( php_randmax(TSRMLS_C) ); } /* }}} */ diff --git a/ext/standard/rand_mt.c b/ext/standard/rand_mt.c index 877074653b..ec67d32a7a 100644 --- a/ext/standard/rand_mt.c +++ b/ext/standard/rand_mt.c @@ -85,7 +85,7 @@ static void _php_srand_mt(long seed TSRMLS_DC); static inline long _php_rand_mt_reload(TSRMLS_D); -static long _php_rand_mt(void); +static long _php_rand_mt(TSRMLS_D); /* * Melo: it could be 2^^32 but we only use 2^^31 to maintain * compatibility with the previous php_rand @@ -100,6 +100,8 @@ PHP_MINIT_FUNCTION(rand_mt) PHP_RANDMAX_MT, /* long randmax */ "mt" /* char *ini_str */ ); + + return SUCCESS; } #define N MT_N /* length of state vector */ @@ -210,10 +212,9 @@ static inline long _php_rand_mt_reload(TSRMLS_D) /*}}}*/ /* {{{ long _php_rand_mt(void) */ -static long _php_rand_mt(void) +static long _php_rand_mt(TSRMLS_D) { php_uint32 y; - TSRMLS_FETCH(); if(--BG(left) < 0) return(_php_rand_mt_reload(TSRMLS_C)); diff --git a/ext/standard/rand_sys.c b/ext/standard/rand_sys.c index fcb52fb365..33ea44fef8 100644 --- a/ext/standard/rand_sys.c +++ b/ext/standard/rand_sys.c @@ -21,21 +21,19 @@ #include -#include "php.h" +#include "php_reentrancy.h" #include "php_rand.h" - #include "basic_functions.h" - /* rand() & co (thread safe this time!): */ -static void _php_srand_sys(long seed) +static void _php_srand_sys(long seed TSRMLS_DC) { BG(rand_sys_seed) = (unsigned int) seed; } -static long _php_rand_sys(void) +static long _php_rand_sys(TSRMLS_D) { - return (long) rand_r(&BG(rand_sys_seed)); + return (long) php_rand_r(&BG(rand_sys_seed)); } PHP_MINIT_FUNCTION(rand_sys) @@ -67,6 +65,7 @@ PHP_MINIT_FUNCTION(rand_sys) php_randgen_entries[PHP_RAND_LRAND48] = NULL; #endif + return SUCCESS; } /*