|
|
1.1 root 1: #define BUFSIZ 4096
2:
3: main(argc, argv)
4: int argc;
5: char *argv[];
6: {
7: int buf[BUFSIZ / sizeof(int)];
8: int i, j, k;
9:
10: if (argc != 2) {
11: printf("Usage: readchk file\n");
12: exit(1);
13: }
14: j = creat(argv[1], 0666);
15: if (j < 0) {
16: perror(argv[1]);
17: exit(2);
18: }
19: for (i = 0; i < 2048; i++) {
20: for (k = 0; k < BUFSIZ / sizeof(int); k++)
21: buf[k] = i + k;
22: if (write(j, buf, BUFSIZ) != BUFSIZ) {
23: perror("write");
24: exit(3);
25: }
26: }
27: close(j);
28: j = open(argv[1], 0);
29: if (j < 0) {
30: perror(argv[1]);
31: exit(4);
32: }
33: for (i = 0; i < 2048; i++) {
34: if (read(j, buf, BUFSIZ) != BUFSIZ) {
35: perror("read");
36: exit(5);
37: }
38: for (k = 0; k < BUFSIZ / sizeof(int); k++)
39: if (buf[k] != i + k)
40: printf("bad data at %d\n",
41: tell(j) - BUFSIZ + 4 * k);
42: }
43: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.