diff options
author | Douglas Gilbert <dgilbert@interlog.com> | 2018-06-29 09:46:13 +0000 |
---|---|---|
committer | Douglas Gilbert <dgilbert@interlog.com> | 2018-06-29 09:46:13 +0000 |
commit | 3ef8550a26c95c97f9fdc4ef249a5767fd573e7a (patch) | |
tree | ae1e82f2ff36a06a02184a3eeb19cffe217fcb2f /src/sg_prevent.c | |
parent | 11f6f1f439415e57696f473b1475f190018741c7 (diff) | |
download | sg3_utils-3ef8550a26c95c97f9fdc4ef249a5767fd573e7a.tar.gz |
sg_opcode: support MLU, Multiple Logical Units (18-045r1); sg_lib: sg_simple_inquiry_pt(); ./configure: option --enable-debug added for testing
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@779 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_prevent.c')
-rw-r--r-- | src/sg_prevent.c | 51 |
1 files changed, 39 insertions, 12 deletions
diff --git a/src/sg_prevent.c b/src/sg_prevent.c index f372e2db..40ab1638 100644 --- a/src/sg_prevent.c +++ b/src/sg_prevent.c @@ -27,21 +27,23 @@ * given SCSI device. */ -static const char * version_str = "1.11 20180523"; +static const char * version_str = "1.12 20180627"; #define ME "sg_prevent: " static struct option long_options[] = { - {"allow", no_argument, 0, 'a'}, - {"help", no_argument, 0, 'h'}, - {"prevent", required_argument, 0, 'p'}, - {"verbose", no_argument, 0, 'v'}, - {"version", no_argument, 0, 'V'}, - {0, 0, 0, 0}, + {"allow", no_argument, 0, 'a'}, + {"help", no_argument, 0, 'h'}, + {"prevent", required_argument, 0, 'p'}, + {"verbose", no_argument, 0, 'v'}, + {"version", no_argument, 0, 'V'}, + {0, 0, 0, 0}, }; -static void usage() + +static void +usage() { pr2serr("Usage: " "sg_prevent [--allow] [--help] [--prevent=PC] [--verbose] " @@ -61,10 +63,13 @@ static void usage() } -int main(int argc, char * argv[]) +int +main(int argc, char * argv[]) { - int sg_fd, res, c; bool allow = false; + bool verbose_given = false; + bool version_given = false; + int sg_fd, res, c; int prevent = -1; int verbose = 0; const char * device_name = NULL; @@ -94,11 +99,12 @@ int main(int argc, char * argv[]) } break; case 'v': + verbose_given = true; ++verbose; break; case 'V': - pr2serr(ME "version: %s\n", version_str); - return 0; + version_given = true; + break; default: pr2serr("unrecognised option code 0x%x ??\n", c); usage(); @@ -117,6 +123,27 @@ int main(int argc, char * argv[]) return SG_LIB_SYNTAX_ERROR; } } +#ifdef DEBUG + pr2serr("In DEBUG mode, "); + if (verbose_given && version_given) { + pr2serr("but override: '-vV' given, zero verbose and continue\n"); + verbose_given = false; + version_given = false; + verbose = 0; + } else if (! verbose_given) { + pr2serr("set '-vv'\n"); + verbose = 2; + } else + pr2serr("keep verbose=%d\n", verbose); +#else + if (verbose_given && version_given) + pr2serr("Not in DEBUG mode, so '-vV' has no special action\n"); +#endif + if (version_given) { + pr2serr(ME "version: %s\n", version_str); + return 0; + } + if (NULL == device_name) { pr2serr("missing device name!\n"); usage(); |