|
|
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.