1 /*
2 * This program generates data for testing file locking
3 */
4
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <unistd.h>
8
main(int argc,char ** argv)9 int main(int argc, char **argv)
10 {
11 int i, j, k, nlines, nchars, ctype;
12 char c, buf[BUFSIZ];
13 FILE *fp;
14
15 if (argc != 5) {
16 printf
17 ("usage: <nfs_flock_dgen> <file> <char/line> <lines> <ctype>\n");
18 exit(2);
19 }
20
21 fp = fopen(argv[1], "w");
22
23 nchars = atoi(argv[2]);
24 if (nchars > BUFSIZ) {
25 printf("Exceeded the maximum limit of the buffer (%d)\n",
26 BUFSIZ);
27 exit(3);
28 }
29 nlines = atoi(argv[3]);
30 ctype = atoi(argv[4]);
31
32 k = 0;
33 for (i = 1; i <= nlines; i++) {
34
35 if (ctype)
36 c = ((i % 2) ? '1' : '0');
37 else
38 c = 'A' + k;
39
40 for (j = 0; j < nchars; j++)
41
42 buf[j] = c;
43
44 fprintf(fp, "%s\n", buf);
45
46 if (!ctype) {
47 if (i != 1 && i % 26 == 0)
48 k = 0;
49 else
50 k++;
51 }
52
53 }
54
55 fclose(fp);
56 return (0);
57 }
58