X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=cpmchmod.c;h=76b70a96011257fda2a518be45d0b0da7ad8d719;hb=eecb0a54d7bbb6d7f1085cad3e663164baad4c4f;hp=2e64574baac200deda18cd1d11181f3411a290db;hpb=32087c67d53a8f8058b359388f23e2dbc9436d54;p=debian%2Fcpmtools diff --git a/cpmchmod.c b/cpmchmod.c index 2e64574..76b70a9 100644 --- a/cpmchmod.c +++ b/cpmchmod.c @@ -1,13 +1,18 @@ /* #includes */ /*{{{C}}}*//*{{{*/ +#include "config.h" + #include #include #include #include #include -#include "config.h" -#include "getopt.h" +#include "getopt_.h" #include "cpmfs.h" + +#ifdef USE_DMALLOC +#include +#endif /*}}}*/ const char cmd[]="cpmchmod"; @@ -17,7 +22,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; @@ -28,6 +33,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; @@ -39,8 +45,8 @@ int main(int argc, char *argv[]) /*{{{*/ if (optind>=(argc-2)) usage=1; else { - image=argv[optind]; - if (!sscanf(argv[optind+1], "%o", &mode)) usage=1; + image=argv[optind++]; + if (!sscanf(argv[optind++], "%o", &mode)) usage=1; } if (usage) @@ -73,6 +79,7 @@ int main(int argc, char *argv[]) /*{{{*/ exitcode=1; } } + cpmUmount(&drive); exit(exitcode); } /*}}}*/