X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=cpmrm.c;h=f49ed4a68b5d741b7f13fe71b9ad83c1a5b60f62;hb=21ff9653b4c88aecd7f18dc5c03f36ae6d548094;hp=e9353412510b93ff505b4971b99b2c8d7d68945b;hpb=224b4e6d27a3af235500d9d8028ddbd3a60af7ed;p=debian%2Fcpmtools diff --git a/cpmrm.c b/cpmrm.c index e935341..f49ed4a 100644 --- a/cpmrm.c +++ b/cpmrm.c @@ -7,12 +7,8 @@ #include #include -#include "getopt.h" +#include "getopt_.h" #include "cpmfs.h" - -#ifdef USE_DMALLOC -#include -#endif /*}}}*/ const char cmd[]="cpmrm"; @@ -22,8 +18,9 @@ int main(int argc, char *argv[]) /*{{{*/ /* variables */ /*{{{*/ const char *err; const char *image; - const char *format=FORMAT; + const char *format; const char *devopts=NULL; + int uppercase=0; int c,i,usage=0,exitcode=0; struct cpmSuperBlock drive; struct cpmInode root; @@ -32,30 +29,36 @@ int main(int argc, char *argv[]) /*{{{*/ /*}}}*/ /* parse options */ /*{{{*/ - while ((c=getopt(argc,argv,"T:f:h?"))!=EOF) switch(c) + if (!(format=getenv("CPMTOOLSFMT"))) format=FORMAT; + while ((c=getopt(argc,argv,"T:f:uh?"))!=EOF) switch(c) { case 'T': devopts=optarg; break; case 'f': format=optarg; break; + case 'u': uppercase=1; break; case 'h': case '?': usage=1; break; } if (optind>=(argc-1)) usage=1; - else image=argv[optind]; + else image=argv[optind++]; if (usage) { - fprintf(stderr,"Usage: %s [-f format] [-T dsktype] image pattern ...\n",cmd); + fprintf(stderr,"Usage: %s [-f format] [-T dsktype] [-u] image pattern ...\n",cmd); exit(1); } /*}}}*/ /* open image */ /*{{{*/ if ((err=Device_open(&drive.dev, image, O_RDWR, 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); + } + if (cpmReadSuper(&drive,&root,format,uppercase)==-1) + { + fprintf(stderr,"%s: cannot read superblock (%s)\n",cmd,boo); exit(1); } - cpmReadSuper(&drive,&root,format); /*}}}*/ cpmglob(optind,argc,argv,&root,&gargc,&gargv); for (i=0; i