X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=fsck.cpm.c;h=585015b0cac3f91db0cc337b4bf42004dbd4d3e4;hb=b1e873c5b2f6376bb39ff0fda1464cbbacbae5f7;hp=c7e9048e44f94900456dc0340af8a47db19fb52d;hpb=da79766c5b4c4bae50ddc7bd81b610d3a45c5899;p=debian%2Fcpmtools diff --git a/fsck.cpm.c b/fsck.cpm.c index c7e9048..585015b 100644 --- a/fsck.cpm.c +++ b/fsck.cpm.c @@ -249,7 +249,7 @@ static int fsck(struct cpmInode *root, const char *image) if (block>0) { ++usedBlocks; - if (blockmax) + if (block=max) { printf("Error: Bad block number (extent=%d, name=\"%s\", block=%d)\n",extent,prfile(sb,extent),block); if (ask("Remove file")) @@ -571,13 +571,14 @@ int main(int argc, char *argv[]) { const char *err; const char *image; - const char *format=FORMAT; + const char *format; const char *devopts=NULL; int c,usage=0; struct cpmSuperBlock sb; struct cpmInode root; enum Result ret; + if (!(format=getenv("CPMTOOLSFMT"))) format=FORMAT; while ((c=getopt(argc,argv,"T:f:nh?"))!=EOF) switch(c) { case 'f': format=optarg; break; @@ -599,15 +600,19 @@ int main(int argc, char *argv[]) { if ((err=Device_open(&sb.dev, image,O_RDONLY, devopts))) { - fprintf(stderr,"%s: can not open %s: %s\n",cmd,image,err); + fprintf(stderr,"%s: cannot open %s: %s\n",cmd,image,err); exit(1); } else { - fprintf(stderr,"%s: can not open %s for writing, no repair possible\n",cmd,image); + fprintf(stderr,"%s: cannot open %s for writing, no repair possible\n",cmd,image); } } - cpmReadSuper(&sb,&root,format); + if (cpmReadSuper(&sb,&root,format)==-1) + { + fprintf(stderr,"%s: cannot read superblock (%s)\n",cmd,boo); + exit(1); + } ret=fsck(&root,image); if (ret&MODIFIED) {