[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.31 and 1.32

version 1.31, 2010/06/13 17:58:19 version 1.32, 2011/04/20 22:28:39
Line 1477 
Line 1477 
         char *p, *buf;          char *p, *buf;
         Node *nextarg;          Node *nextarg;
         FILE *fp;          FILE *fp;
           static Awkfloat old_seed = 1;
   
         t = ptoi(a[0]);          t = ptoi(a[0]);
         x = execute(a[1]);          x = execute(a[1]);
Line 1580 
Line 1581 
                         u = (Awkfloat) (random() % RAND_MAX) / RAND_MAX;                          u = (Awkfloat) (random() % RAND_MAX) / RAND_MAX;
                 break;                  break;
         case FSRAND:          case FSRAND:
                   u = old_seed;
                 if (isrec(x))   /* no argument provided, want arc4random() */                  if (isrec(x))   /* no argument provided, want arc4random() */
                         use_arc4 = 1;                          use_arc4 = 1;
                 else {                  else {
                         u = getfval(x);                          old_seed = getfval(x);
                         srandom((unsigned int) u);                          srandom((unsigned int) old_seed);
                         use_arc4 = 0;                          use_arc4 = 0;
                 }                  }
                 break;                  break;

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32