]> granicus.if.org Git - php/commitdiff
Fixed array_rand() on ZTS platforms.
authorEdin Kadribasic <edink@php.net>
Mon, 3 Jun 2002 17:49:48 +0000 (17:49 +0000)
committerEdin Kadribasic <edink@php.net>
Mon, 3 Jun 2002 17:49:48 +0000 (17:49 +0000)
@- Fixed array_rand() on thread-safe platforms such as Windows. (Edin)

ext/standard/array.c

index a1c9154d43249b234e96c2325b7ecdb6928adc76..77544a2c1368324b537eb038f28fee1f230ae01f 100644 (file)
@@ -2878,15 +2878,7 @@ PHP_FUNCTION(array_rand)
        zend_hash_internal_pointer_reset_ex(Z_ARRVAL_PP(input), &pos);
        while (num_req_val && (key_type = zend_hash_get_current_key_ex(Z_ARRVAL_PP(input), &string_key, &string_key_len, &num_key, 0, &pos)) != HASH_KEY_NON_EXISTANT) {
 
-#ifdef HAVE_RANDOM
-               randval = random();
-#else
-#ifdef HAVE_LRAND48
-               randval = lrand48();
-#else
-               randval = rand();
-#endif
-#endif
+               randval = php_rand(TSRMLS_C);
 
                if ((double)(randval/(PHP_RAND_MAX+1.0)) < (double)num_req_val/(double)num_avail) {
                        /* If we are returning a single result, just do it. */