Signed-off-by: Hal Rosenstock <[email protected]> --- diff --git a/infiniband-diags/src/saquery.c b/infiniband-diags/src/saquery.c index 313f9a7..3a35aa7 100644 --- a/infiniband-diags/src/saquery.c +++ b/infiniband-diags/src/saquery.c @@ -1543,6 +1543,10 @@ static int process_opt(void *context, int ch, char *optarg) p->numb_path = strtoul(optarg, NULL, 0); break; case 18: + if (!isxdigit(*optarg) && !(optarg = getpass("P_Key: "))) { + fprintf(stderr, "cannot get P_Key\n"); + ibdiag_show_usage(); + } p->pkey = (uint16_t) strtoul(optarg, NULL, 0); break; case 'Q': @@ -1561,6 +1565,10 @@ static int process_opt(void *context, int ch, char *optarg) p->pkt_life = (uint8_t) strtoul(optarg, NULL, 0); break; case 'q': + if (!isxdigit(*optarg) && !(optarg = getpass("Q_Key: "))) { + fprintf(stderr, "cannot get Q_Key\n"); + ibdiag_show_usage(); + } p->qkey = strtoul(optarg, NULL, 0); break; case 'T': @@ -1637,7 +1645,9 @@ int main(int argc, char **argv) {"mgid", 17, 1, "<gid>", "Multicast GID (MCMemberRecord)"}, {"reversible", 'r', 1, NULL, "Reversible path (PathRecord)"}, {"numb_path", 'n', 1, NULL, "Number of paths (PathRecord)"}, - {"pkey", 18, 1, NULL, "P_Key (PathRecord, MCMemberRecord)"}, + {"pkey", 18, 1, NULL, "P_Key (PathRecord, MCMemberRecord)." + " If non-numeric value (like 'x') is specified then" + " saquery will prompt for a value"}, {"qos_class", 'Q', 1, NULL, "QoS Class (PathRecord)"}, {"sl", 19, 1, NULL, "Service level (PathRecord, MCMemberRecord)"}, @@ -1647,7 +1657,9 @@ int main(int argc, char **argv) "Rate and selector (PathRecord, MCMemberRecord)"}, {"pkt_lifetime", 20, 1, NULL, "Packet lifetime and selector (PathRecord, MCMemberRecord)"}, - {"qkey", 'q', 1, NULL, "Q_Key (MCMemberRecord)"}, + {"qkey", 'q', 1, NULL, "Q_Key (MCMemberRecord)." + " If non-numeric value (like 'x') is specified then" + " saquery will prompt for a value"}, {"tclass", 'T', 1, NULL, "Traffic Class (PathRecord, MCMemberRecord)"}, {"flow_label", 'F', 1, NULL, _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
