summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorDaniel Beulshausen <dbeu@php.net>2001-09-04 02:19:30 +0000
committerDaniel Beulshausen <dbeu@php.net>2001-09-04 02:19:30 +0000
commit9b8886410dd70bdfd54b751df34e2b3cec9692b5 (patch)
tree992904482ec7a54a72d91d5404abefcd6ebae524 /ext
parent8d07a0178fc492e1ecf8c9cd1fa6d8c7b59d1994 (diff)
downloadphp-git-9b8886410dd70bdfd54b751df34e2b3cec9692b5.tar.gz
fix zts+win32 build
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/array.c2
-rw-r--r--ext/standard/php_rand.h10
-rw-r--r--ext/standard/rand.c21
-rw-r--r--ext/standard/rand_mt.c7
-rw-r--r--ext/standard/rand_sys.c11
5 files changed, 27 insertions, 24 deletions
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 <stdlib.h>
-#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;
}
/*