gstein      99/11/26 11:31:23

  Modified:    src/modules/standard mod_rewrite.c
  Log:
  The floating point rounding performed by the ap_snprintf() was throwing
  off the distribution of the random value. The much simpler forms works
  just as well, and provides a normal distribution.
  
  Revision  Changes    Path
  1.151     +1 -9      apache-1.3/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.150
  retrieving revision 1.151
  diff -u -r1.150 -r1.151
  --- mod_rewrite.c     1999/10/27 09:13:17     1.150
  +++ mod_rewrite.c     1999/11/26 19:31:21     1.151
  @@ -3047,16 +3047,8 @@
   
   static int rewrite_rand(int l, int h)
   {
  -    int i;
  -    char buf[50];
  -
       rewrite_rand_init();
  -    ap_snprintf(buf, sizeof(buf), "%.0f", 
  -                (((double)(rand()%RAND_MAX)/RAND_MAX)*(h-l)));
  -    i = atoi(buf)+1;
  -    if (i < l) i = l;
  -    if (i > h) i = h;
  -    return i;
  +    return rand() % (h - l + 1) + l;
   }
   
   static char *select_random_value_part(request_rec *r, char *value)
  
  
  

Reply via email to