|
|
1.1 ! root 1: #include "stdio.h" ! 2: extern int errno; ! 3: ! 4: char buf[512]; ! 5: ! 6: main(argc, argv) ! 7: char **argv; ! 8: { int fd, n, i, j; ! 9: short *p = (short *) buf; ! 10: if(argc != 3) { ! 11: fprintf(stderr, "%s raw-disk sn\n", argv[0]); ! 12: exit(0); ! 13: } ! 14: fd = open(argv[1], 2); ! 15: n = atoi(argv[2]); ! 16: if(fd < 0 || lseek(fd, n*512, 0) < 0) { ! 17: perror("begin"); ! 18: exit(1); ! 19: } ! 20: foo: ! 21: lseek(fd, n*512, 0); ! 22: if (read(fd, buf, sizeof(buf)) != sizeof(buf)) ! 23: perror("read"); ! 24: for(i = 0; i < 16; i++) { ! 25: for(j = 0; j < 16; j++) ! 26: printf("%o ", p[16 * i + j] & 0xffff); ! 27: putchar('\n'); ! 28: } ! 29: printf("write?\n"); ! 30: if((i = getchar()) == 'y') { ! 31: wr: ! 32: lseek(fd, n*512, 0); ! 33: if (write(fd, buf, sizeof(buf)) != sizeof(buf)) ! 34: perror("write"); ! 35: (void) getchar(); ! 36: goto foo; ! 37: } ! 38: else if(i == 'c') { ! 39: for(j = 0; j < 512; j++) ! 40: buf[j] = 0; ! 41: goto wr; ! 42: } ! 43: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.