From be801f6c506d9fbfb6c06afe94663abdb0037be5 Mon Sep 17 00:00:00 2001 From: Dan Mick Date: Mon, 8 Apr 2013 13:52:32 -0700 Subject: [PATCH] mon: Use _daemon version of argparse functions Allow argparse functions to fail if no argument given by using special versions that avoid the default CLI behavior of "cerr/exit" Fixes: #4678 Signed-off-by: Dan Mick Reviewed-by: Joao Eduardo Luis --- src/mon/MDSMonitor.cc | 3 ++- src/mon/Monitor.cc | 2 +- src/mon/MonmapMonitor.cc | 3 ++- src/mon/OSDMonitor.cc | 3 ++- src/mon/PGMonitor.cc | 7 ++++--- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index 0ca0f78bf45f7..3ea6d860039cb 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -548,7 +548,8 @@ bool MDSMonitor::preprocess_command(MMonCommand *m) for (std::vector::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) break; - else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) + else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", + (char*)NULL)) format = val; else if (!epoch) { long l = parse_pos_long(*i++, &ss); diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index d8d4579f67b1d..a49d08a02af21 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -2483,7 +2483,7 @@ void Monitor::handle_command(MMonCommand *m) JSONFormatter *jf = NULL; for (vector::iterator i = args.begin(); i != args.end();) { string val; - if (ceph_argparse_witharg(args, i, &val, + if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", (char*)NULL)) { format = val; } else { diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc index af8d7299227d6..f1c6dfa332526 100644 --- a/src/mon/MonmapMonitor.cc +++ b/src/mon/MonmapMonitor.cc @@ -222,7 +222,8 @@ bool MonmapMonitor::preprocess_command(MMonCommand *m) for (std::vector::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) break; - else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) + else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", + (char*)NULL)) format = val; else if (!epoch) { long l = parse_pos_long(*i++, &ss); diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index a9d68075cd4cf..40103ec402f81 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -1894,7 +1894,8 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) for (std::vector::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) break; - else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) + else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", + (char*)NULL)) format = val; else if (!epoch) { long l = parse_pos_long(*i++, &ss); diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index c05897215cc67..fe50b34da8c24 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -1096,7 +1096,8 @@ bool PGMonitor::preprocess_command(MMonCommand *m) for (std::vector::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) { break; - } else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) { + } else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", + "--format", (char*)NULL)) { format = val; } else { what = *i++; @@ -1572,14 +1573,14 @@ int PGMonitor::dump_stuck_pg_stats(ostream& ss, i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) { break; - } else if (ceph_argparse_witharg(args, i, &val, + } else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", (char*)NULL)) { if (val != "json" && val != "plain") { ss << "format must be json or plain"; return -EINVAL; } format = val; - } else if (ceph_argparse_withint(args, i, &seconds, &err, + } else if (ceph_argparse_withint_daemon(args, i, &seconds, &err, "-t", "--threshold", (char*)NULL)) { if (!err.str().empty()) { ss << err.str(); -- 2.39.5