jmoore          Wed Feb 21 16:24:19 2001 EDT

  Modified files:              
    /php4/ext/standard  array.c crypt.c php_rand.h rand.c 
  Log:
  Adding php_rand() and php_srand(seed) as a wrapper around random, lrand48 and rand.
  
  
Index: php4/ext/standard/array.c
diff -u php4/ext/standard/array.c:1.95 php4/ext/standard/array.c:1.96
--- php4/ext/standard/array.c:1.95      Wed Feb 21 09:22:26 2001
+++ php4/ext/standard/array.c   Wed Feb 21 16:24:19 2001
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: array.c,v 1.95 2001/02/21 17:22:26 andrei Exp $ */
+/* $Id: array.c,v 1.96 2001/02/22 00:24:19 jmoore Exp $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -1364,18 +1364,7 @@
 
 
 static int array_data_shuffle(const void *a, const void*b) {
-       return (
-       /* This is just a little messy. */
-#ifdef HAVE_RANDOM
-        random()
-#else
-#ifdef HAVE_LRAND48
-        lrand48()
-#else
-        rand()
-#endif
-#endif
-       % 2) ? 1 : -1;
+       return (php_rand() % 2) ? 1 : -1;
 }
 
 
Index: php4/ext/standard/crypt.c
diff -u php4/ext/standard/crypt.c:1.35 php4/ext/standard/crypt.c:1.36
--- php4/ext/standard/crypt.c:1.35      Tue Feb  6 08:27:08 2001
+++ php4/ext/standard/crypt.c   Wed Feb 21 16:24:19 2001
@@ -17,7 +17,7 @@
    |          Rasmus Lerdorf <[EMAIL PROTECTED]>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: crypt.c,v 1.35 2001/02/06 16:27:08 jimjag Exp $ */
+/* $Id: crypt.c,v 1.36 2001/02/22 00:24:19 jmoore Exp $ */
 #include <stdlib.h>
 
 #include "php.h"
@@ -85,14 +85,10 @@
 #define PHP_STD_DES_CRYPT 1
 #endif
 
-#if HAVE_RANDOM
-#define PHP_CRYPT_RAND random()
-#elif HAVE_LRAND48
-#define PHP_CRYPT_RAND lrand48()
-#else
-#define PHP_CRYPT_RAND rand()
-#endif
 
+#define PHP_CRYPT_RAND php_rand()
+
+
 PHP_MINIT_FUNCTION(crypt)
 {
 #if PHP_STD_DES_CRYPT
@@ -105,13 +101,7 @@
     REGISTER_LONG_CONSTANT("CRYPT_MD5", PHP_MD5_CRYPT, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", PHP_BLOWFISH_CRYPT, CONST_CS | 
CONST_PERSISTENT);
 
-#if HAVE_SRANDOM
-       srandom((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0));
-#elif HAVE_SRAND48
-       srand48((long) time(0) * (long) getpid() * (long) (php_combined_lcg() * 
10000.0));
-#else
-       srand((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0));
-#endif
+       php_srand(time(0) * getpid() * (php_combined_lcg() * 10000.0));
 
     return SUCCESS;
 }
Index: php4/ext/standard/php_rand.h
diff -u php4/ext/standard/php_rand.h:1.6 php4/ext/standard/php_rand.h:1.7
--- php4/ext/standard/php_rand.h:1.6    Sun Jul  2 16:46:47 2000
+++ php4/ext/standard/php_rand.h        Wed Feb 21 16:24:19 2001
@@ -19,7 +19,7 @@
    | Based on code from: Shawn Cokus <[EMAIL PROTECTED]>          |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_rand.h,v 1.6 2000/07/02 23:46:47 sas Exp $ */
+/* $Id: php_rand.h,v 1.7 2001/02/22 00:24:19 jmoore Exp $ */
 
 #ifndef PHP_RAND_H
 #define        PHP_RAND_H
@@ -34,6 +34,28 @@
 #define PHP_RAND_MAX 2147483647
 #else
 #define PHP_RAND_MAX RAND_MAX
+#endif
+
+/* Define rand Function wrapper */
+#ifdef HAVE_RANDOM
+#define php_rand() random()
+#else
+#ifdef HAVE_LRAND48
+#define php_rand() lrand48()
+#else
+#define php_rand() rand()
+#endif
+#endif
+
+/* Define srand Function wrapper */
+#ifdef HAVE_SRANDOM
+#define php_srand(seed) srandom((unsigned int)seed)
+#else
+#ifdef HAVE_SRAND48
+#define php_srand(seed) srand48((long)seed)
+#else
+#define php_srand(seed) srand((unsigned int)seed)
+#endif
 #endif
 
 #endif /* PHP_RAND_H */
Index: php4/ext/standard/rand.c
diff -u php4/ext/standard/rand.c:1.23 php4/ext/standard/rand.c:1.24
--- php4/ext/standard/rand.c:1.23       Mon Feb 19 11:20:47 2001
+++ php4/ext/standard/rand.c    Wed Feb 21 16:24:19 2001
@@ -19,7 +19,7 @@
    | Based on code from: Shawn Cokus <[EMAIL PROTECTED]>          |
    +----------------------------------------------------------------------+
  */
-/* $Id: rand.c,v 1.23 2001/02/19 19:20:47 derick Exp $ */
+/* $Id: rand.c,v 1.24 2001/02/22 00:24:19 jmoore Exp $ */
 
 #include <stdlib.h>
 
@@ -199,15 +199,7 @@
                WRONG_PARAM_COUNT;
        }
        convert_to_long_ex(arg);
-#ifdef HAVE_SRANDOM
-       srandom((unsigned int) (*arg)->value.lval);
-#else
-#ifdef HAVE_SRAND48
-       srand48((unsigned int) (*arg)->value.lval);
-#else
-       srand((unsigned int) (*arg)->value.lval);
-#endif
-#endif
+       php_srand((*arg)->value.lval);
 }
 /* }}} */
 
@@ -253,15 +245,9 @@
        }
                        
        return_value->type = IS_LONG;
-#ifdef HAVE_RANDOM
-       return_value->value.lval = random();
-#else
-#ifdef HAVE_LRAND48
-       return_value->value.lval = lrand48();
-#else
-       return_value->value.lval = rand();
-#endif
-#endif
+
+       return_value->value.lval = php_rand();
+
     /*
      * A bit of tricky math here.  We want to avoid using a modulus because
      * that simply tosses the high-order bits and might skew the distribution



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to