/* ** CHKABS.C ** ** PROGRAM TO VERIFY THE CHECKSUMS OF AN HP 21xx ABSOLUTE BINARY TAPE */ #include main (argc, argv) int argc; char *argv[]; { FILE *fp; int done, ii, count, maxnull, dummy, nbchecked; unsigned short sum, addr, data; if (argc != 2) { printf ("Usage: chkabs filename\n"); exit (-1); } fp = fopen (argv[1], "rb"); if (!fp) { printf ("Can't open file %s\n", argv[1]); exit (-1); } nbchecked = 0; maxnull = 10000; done = 0; while (!done) { count = fgetc (fp); if (count == EOF) { printf ("Unexpected EOF!\n"); done = 1; } else if (!count) { maxnull--; if (!maxnull) done=1; } else { dummy = fgetc (fp); addr = (fgetc(fp) << 8) | fgetc(fp); sum = addr; for (ii=0; ii