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_senddiag.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_senddiag.c')
-rw-r--r-- | src/sg_senddiag.c | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/src/sg_senddiag.c b/src/sg_senddiag.c index a66ab0bd..60144e12 100644 --- a/src/sg_senddiag.c +++ b/src/sg_senddiag.c @@ -31,7 +31,7 @@ #include "sg_pr2serr.h" -static const char * version_str = "0.62 20180523"; +static const char * version_str = "0.63 20180628"; #define ME "sg_senddiag: " @@ -66,15 +66,16 @@ struct opts_t { bool do_pf; bool do_raw; bool do_uoff; - bool do_version; bool opt_new; + bool verbose_given; + bool version_given; int do_help; int do_hex; int maxlen; int page_code; int do_selftest; int timeout; - int do_verbose; + int verbose; const char * device_name; const char * raw_arg; }; @@ -246,10 +247,11 @@ new_parse_cmd_line(struct opts_t * op, int argc, char * argv[]) op->do_uoff = true; break; case 'v': - ++op->do_verbose; + op->verbose_given = true; + ++op->verbose; break; case 'V': - op->do_version = true; + op->version_given = true; break; default: pr2serr("unrecognised option code %c [0x%x]\n", c, c); @@ -333,10 +335,11 @@ old_parse_cmd_line(struct opts_t * op, int argc, char * argv[]) jmp_out = true; break; case 'v': - ++op->do_verbose; + op->verbose_given = true; + ++op->verbose; break; case 'V': - op->do_version = true; + op->version_given = true; break; case '?': ++op->do_help; @@ -696,10 +699,27 @@ main(int argc, char * argv[]) usage_old(); return 0; } - if (op->do_version) { +#ifdef DEBUG + pr2serr("In DEBUG mode, "); + if (op->verbose_given && op->version_given) { + pr2serr("but override: '-vV' given, zero verbose and continue\n"); + op->verbose_given = false; + op->version_given = false; + op->verbose = 0; + } else if (! op->verbose_given) { + pr2serr("set '-vv'\n"); + op->verbose = 2; + } else + pr2serr("keep verbose=%d\n", op->verbose); +#else + if (op->verbose_given && op->version_given) + pr2serr("Not in DEBUG mode, so '-vV' has no special action\n"); +#endif + if (op->version_given) { pr2serr("Version string: %s\n", version_str); return 0; } + rsp_buff_size = op->maxlen; if (NULL == op->device_name) { @@ -707,14 +727,14 @@ main(int argc, char * argv[]) list_page_codes(); return 0; } - pr2serr("No DEVICE argument given\n"); + pr2serr("No DEVICE argument given\n\n"); if (op->opt_new) usage(); else usage_old(); return SG_LIB_SYNTAX_ERROR; } - vb = op->do_verbose; + vb = op->verbose; if (op->do_raw) { read_in = sg_memalign(op->maxlen, 0, &free_read_in, vb > 3); if (NULL == read_in) { |