diff options
author | Sterling Hughes <sterling@php.net> | 2001-09-05 21:38:49 +0000 |
---|---|---|
committer | Sterling Hughes <sterling@php.net> | 2001-09-05 21:38:49 +0000 |
commit | e121eaaef5044d8e2047c2bfecf9661239ff90c9 (patch) | |
tree | 7ccc3406f042aa83f6adbefa26b71037aeec3c1e /ext/standard/rand.c | |
parent | 5ec58914fe9e0f2d95679b3346ebd8d72cac2f52 (diff) | |
download | php-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.c | 54 |
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); |