Research V7 development
[unix-history] / usr / src / cmd / random.c
CommitLineData
b4e2e355
KT
1#include <stdio.h>
2#define MAXINT 32768.
3float fract = 2;
4double atof();
5char rflag,eflag,c;
6char ibuf[BUFSIZ],obuf[BUFSIZ],line[BUFSIZ];
7main(argc,argv) char **argv;
8{
9 long tvec;
10 int i;
11 for(i=1;i<argc;i++)
12 { if(*argv[i]!='-')
13 fract=atof(argv[i]);
14 else if((c=argv[i][1])=='e')
15 eflag=1;
16 else if(c=='r')
17 rflag=1;
18 }
19 time(&tvec);
20 srand((int)tvec);
21 if(!rflag && !eflag)
22 { setbuf(stdin,ibuf);
23 setbuf(stdout,obuf);
24 }
25 for(;eflag==0;)
26 { gets(line);
27 if(feof(stdin)) break;
28 if(rand()/MAXINT*fract<1) puts(line);
29 }
30 exit((int)(rand()/MAXINT*fract));
31}