|
|
researchv10 Norman
#include "stdio.h"
extern int errno;
char buf[512];
main(argc, argv)
char **argv;
{ int fd, n, i, j;
short *p = (short *) buf;
if(argc != 3) {
fprintf(stderr, "%s raw-disk sn\n", argv[0]);
exit(0);
}
fd = open(argv[1], 2);
n = atoi(argv[2]);
if(fd < 0 || lseek(fd, n*512, 0) < 0) {
perror("begin");
exit(1);
}
foo:
lseek(fd, n*512, 0);
if (read(fd, buf, sizeof(buf)) != sizeof(buf))
perror("read");
for(i = 0; i < 16; i++) {
for(j = 0; j < 16; j++)
printf("%o ", p[16 * i + j] & 0xffff);
putchar('\n');
}
printf("write?\n");
if((i = getchar()) == 'y') {
wr:
lseek(fd, n*512, 0);
if (write(fd, buf, sizeof(buf)) != sizeof(buf))
perror("write");
(void) getchar();
goto foo;
}
else if(i == 'c') {
for(j = 0; j < 512; j++)
buf[j] = 0;
goto wr;
}
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.