[BACK]Return to run.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / awk

Diff for /src/usr.bin/awk/run.c between version 1.33 and 1.34

version 1.33, 2011/09/28 19:27:18 version 1.34, 2013/09/29 15:42:25
Line 66 
Line 66 
 /* #endif */  /* #endif */
   
 jmp_buf env;  jmp_buf env;
 int use_arc4 = 1;  int use_srandom;
 extern  int     pairstack[];  extern  int     pairstack[];
 extern  Awkfloat        srand_seed;  extern  Awkfloat        srand_seed;
   
Line 1582 
Line 1582 
                 u = (Awkfloat) system(getsval(x)) / 256;   /* 256 is unix-dep */                  u = (Awkfloat) system(getsval(x)) / 256;   /* 256 is unix-dep */
                 break;                  break;
         case FRAND:          case FRAND:
                 if (use_arc4)                  if (use_srandom)
                         u = (Awkfloat)arc4random() / 0xffffffff;  
                 else  
                         u = (Awkfloat) (random() % RAND_MAX) / RAND_MAX;                          u = (Awkfloat) (random() % RAND_MAX) / RAND_MAX;
                   else
                           u = (Awkfloat)arc4random() / 0xffffffff;
                 break;                  break;
         case FSRAND:          case FSRAND:
                 if (isrec(x))   /* no argument provided, want arc4random() */                  if (isrec(x))   /* no argument provided, want arc4random() */
                         use_arc4 = 1;                          use_srandom = 0;
                 else {                  else {
                         use_arc4 = 0;                          use_srandom = 1;
                         u = getfval(x);                          u = getfval(x);
                         tmp = u;                          tmp = u;
                         srandom((unsigned int) u);                          srandom((unsigned int) u);

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34