summaryrefslogtreecommitdiff
path: root/ext/standard/rand.c
diff options
context:
space:
mode:
authorSterling Hughes <sterling@php.net>2001-09-05 21:38:49 +0000
committerSterling Hughes <sterling@php.net>2001-09-05 21:38:49 +0000
commite121eaaef5044d8e2047c2bfecf9661239ff90c9 (patch)
tree7ccc3406f042aa83f6adbefa26b71037aeec3c1e /ext/standard/rand.c
parent5ec58914fe9e0f2d95679b3346ebd8d72cac2f52 (diff)
downloadphp-git-e121eaaef5044d8e2047c2bfecf9661239ff90c9.tar.gz
Straight out da bronx, I be using zend_parse_parameters()
# Word out to my peeps on Connor st.
Diffstat (limited to 'ext/standard/rand.c')
-rw-r--r--ext/standard/rand.c54
1 files changed, 22 insertions, 32 deletions
diff --git a/ext/standard/rand.c b/ext/standard/rand.c
index 35f5d67558..10ee52fbb9 100644
--- a/ext/standard/rand.c
+++ b/ext/standard/rand.c
@@ -194,15 +194,12 @@ static php_uint32 randomMT(TSRMLS_D)
Seeds random number generator */
PHP_FUNCTION(srand)
{
- zval **seed;
+ long seed;
- if (ZEND_NUM_ARGS() != 1 ||
- zend_get_parameters_ex(1, &seed) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- convert_to_long_ex(seed);
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &seed) == FAILURE)
+ return;
- php_srand(Z_LVAL_PP(seed));
+ php_srand(seed);
}
/* }}} */
@@ -210,15 +207,12 @@ PHP_FUNCTION(srand)
Seeds Mersenne Twister random number generator */
PHP_FUNCTION(mt_srand)
{
- zval **seed;
+ long seed;
- if (ZEND_NUM_ARGS() != 1 ||
- zend_get_parameters_ex(1, &seed) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- convert_to_long_ex(seed);
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &seed) == FAILURE)
+ return;
- seedMT(Z_LVAL_PP(seed) TSRMLS_CC);
+ seedMT(seed TSRMLS_CC);
}
/* }}} */
@@ -255,19 +249,17 @@ PHP_FUNCTION(mt_srand)
Returns a random number */
PHP_FUNCTION(rand)
{
- zval **min;
- zval **max;
- long number;
- int argc = ZEND_NUM_ARGS();
+ long min;
+ long max;
+ long number;
+ int argc = ZEND_NUM_ARGS();
- if (argc != 0 && argc != 2 ||
- zend_get_parameters_ex(argc, &min, &max) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
+ if (argc != 0 && zend_parse_parameters(argc, "ll", &min, &max) == FAILURE)
+ return;
number = php_rand();
if (argc == 2) {
- RAND_RANGE(number, Z_LVAL_PP(min), Z_LVAL_PP(max));
+ RAND_RANGE(number, min, max);
}
RETURN_LONG(number);
@@ -278,15 +270,13 @@ PHP_FUNCTION(rand)
Returns a random number from Mersenne Twister */
PHP_FUNCTION(mt_rand)
{
- zval **min;
- zval **max;
- long number;
- int argc = ZEND_NUM_ARGS();
+ long min;
+ long max;
+ long number;
+ int argc = ZEND_NUM_ARGS();
- if (argc != 0 && argc != 2 ||
- zend_get_parameters_ex(argc, &min, &max) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
+ if (argc != 0 && zend_parse_parameters(argc, "ll", &min, &max) == FAILURE)
+ return;
/*
* Melo: hmms.. randomMT() returns 32 random bits...
@@ -298,7 +288,7 @@ PHP_FUNCTION(mt_rand)
*/
number = (long) (randomMT(TSRMLS_C) >> 1);
if (argc == 2) {
- RAND_RANGE(number, Z_LVAL_PP(min), Z_LVAL_PP(max));
+ RAND_RANGE(number, min, max);
}
RETURN_LONG(number);