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