X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=cpmchattr.c;h=be39130b86b056d0c993b22b1072b0fe9afef0cb;hb=b1e873c5b2f6376bb39ff0fda1464cbbacbae5f7;hp=9fbf074ca1934bcacb5ad72304e45cbe4467bd48;hpb=32087c67d53a8f8058b359388f23e2dbc9436d54;p=debian%2Fcpmtools diff --git a/cpmchattr.c b/cpmchattr.c index 9fbf074..be39130 100644 --- a/cpmchattr.c +++ b/cpmchattr.c @@ -1,12 +1,17 @@ /* #includes */ /*{{{C}}}*//*{{{*/ +#include "config.h" + #include #include #include #include -#include "config.h" -#include "getopt.h" +#include "getopt_.h" #include "cpmfs.h" + +#ifdef USE_DMALLOC +#include +#endif /*}}}*/ const char cmd[]="cpmchattr"; @@ -16,7 +21,7 @@ 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 c,i,usage=0,exitcode=0; struct cpmSuperBlock drive; @@ -27,6 +32,7 @@ int main(int argc, char *argv[]) /*{{{*/ /*}}}*/ /* parse options */ /*{{{*/ + if (!(format=getenv("CPMTOOLSFMT"))) format=FORMAT; while ((c=getopt(argc,argv,"T:f:h?"))!=EOF) switch(c) { case 'T': devopts=optarg; break; @@ -38,8 +44,8 @@ int main(int argc, char *argv[]) /*{{{*/ if (optind>=(argc-2)) usage=1; else { - image=argv[optind]; - attrs = argv[optind+1]; + image=argv[optind++]; + attrs = argv[optind++]; } if (usage) @@ -51,23 +57,29 @@ int main(int argc, char *argv[]) /*{{{*/ /* 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)==-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