diff --git a/sm5/smartctl.c b/sm5/smartctl.c index 90619ec5a6046a750b731555b3dafc486a77afa7..3487d7e89bcf3c4a368c9053591830915e3d882a 100644 --- a/sm5/smartctl.c +++ b/sm5/smartctl.c @@ -38,7 +38,7 @@ #include "scsiprint.h" extern const char *CVSid1, *CVSid2, *CVSid4, *CVSid5; -const char* CVSid6="$Id: smartctl.c,v 1.19 2002/10/24 13:36:37 ballen4705 Exp $" +const char* CVSid6="$Id: smartctl.c,v 1.20 2002/10/25 08:50:21 ballen4705 Exp $" CVSID1 CVSID2 CVSID4 CVSID5 CVSID6; unsigned char driveinfo = FALSE; @@ -206,7 +206,7 @@ void ParseOpts (int argc, char** argv){ extern char *optarg; extern int optopt, optind, opterr; - opterr=1; + opterr=optopt=0; while (-1 != (optchar = getopt(argc, argv, opts))) { switch (optchar){ case QUIETMODE: @@ -291,17 +291,16 @@ void ParseOpts (int argc, char** argv){ break; case 'h': case '?': - veryquietmode=FALSE; - printslogan(); - Usage(); - exit(0); - break; default: veryquietmode=FALSE; - pout("\n"); printslogan(); + if (optopt){ + pout("=======> UNRECOGNIZED OPTION: %c <=======\n\n",optopt); + Usage(); + exit(FAILCMD); + } Usage(); - exit(FAILCMD); + exit(0); } } // Do this here, so results are independent of argument order diff --git a/sm5/smartctl.cpp b/sm5/smartctl.cpp index 3e2e2d8e151514308f3a1c2a7ae1cac5c2707ee7..75b8b2cf214969099495d0d3b8a37c07a3bd8f44 100644 --- a/sm5/smartctl.cpp +++ b/sm5/smartctl.cpp @@ -38,7 +38,7 @@ #include "scsiprint.h" extern const char *CVSid1, *CVSid2, *CVSid4, *CVSid5; -const char* CVSid6="$Id: smartctl.cpp,v 1.19 2002/10/24 13:36:37 ballen4705 Exp $" +const char* CVSid6="$Id: smartctl.cpp,v 1.20 2002/10/25 08:50:21 ballen4705 Exp $" CVSID1 CVSID2 CVSID4 CVSID5 CVSID6; unsigned char driveinfo = FALSE; @@ -206,7 +206,7 @@ void ParseOpts (int argc, char** argv){ extern char *optarg; extern int optopt, optind, opterr; - opterr=1; + opterr=optopt=0; while (-1 != (optchar = getopt(argc, argv, opts))) { switch (optchar){ case QUIETMODE: @@ -291,17 +291,16 @@ void ParseOpts (int argc, char** argv){ break; case 'h': case '?': - veryquietmode=FALSE; - printslogan(); - Usage(); - exit(0); - break; default: veryquietmode=FALSE; - pout("\n"); printslogan(); + if (optopt){ + pout("=======> UNRECOGNIZED OPTION: %c <=======\n\n",optopt); + Usage(); + exit(FAILCMD); + } Usage(); - exit(FAILCMD); + exit(0); } } // Do this here, so results are independent of argument order