summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-15 14:37:07 -0700
committerSage Weil <sage@inktank.com>2013-08-15 14:38:16 -0700
commitd290a91525c3ebc6941dae2bb55f0bfbf120cb60 (patch)
tree8c8fc0aa900792768839e8b87d3d14f2047b6c9a
parentb99921746ef2e1e15777c748a15e929c72888db1 (diff)
downloadceph-d290a91525c3ebc6941dae2bb55f0bfbf120cb60.tar.gz
mon: use str_join instead of std::copy
The std::copy method leaves a trailing separator. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com> (cherry picked from commit 35565ee64e41d7fddc7849c6006692c78227132c)
-rw-r--r--src/mon/LogMonitor.cc6
-rw-r--r--src/mon/Monitor.cc10
2 files changed, 4 insertions, 12 deletions
diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc
index cab49060082..29e23ebdf3f 100644
--- a/src/mon/LogMonitor.cc
+++ b/src/mon/LogMonitor.cc
@@ -29,6 +29,7 @@
#include "common/errno.h"
#include "common/config.h"
#include "include/assert.h"
+#include "include/str_list.h"
#define dout_subsys ceph_subsys_mon
#undef dout_prefix
@@ -372,15 +373,12 @@ bool LogMonitor::prepare_command(MMonCommand *m)
if (prefix == "log") {
vector<string> logtext;
cmd_getval(g_ceph_context, cmdmap, "logtext", logtext);
- ostringstream ds;
- std::copy(logtext.begin(), logtext.end(),
- ostream_iterator<string>(ds, " "));
LogEntry le;
le.who = m->get_orig_source_inst();
le.stamp = m->get_recv_stamp();
le.seq = 0;
le.type = CLOG_INFO;
- le.msg = ds.str();
+ le.msg = str_join(logtext, " ");
pending_summary.add(le);
pending_log.insert(pair<utime_t,LogEntry>(le.stamp, le));
wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, string(), get_last_committed()));
diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
index a9d3e48a3be..601cdbab47b 100644
--- a/src/mon/Monitor.cc
+++ b/src/mon/Monitor.cc
@@ -2067,11 +2067,8 @@ void Monitor::handle_command(MMonCommand *m)
cmd_getval(g_ceph_context, cmdmap, "injected_args", injected_args);
if (!injected_args.empty()) {
dout(0) << "parsing injected options '" << injected_args << "'" << dendl;
- ostringstream argss;
- std::copy(injected_args.begin(), injected_args.end(),
- ostream_iterator<string>(argss, " "));
ostringstream oss;
- r = g_conf->injectargs(argss.str().c_str(), &oss);
+ r = g_conf->injectargs(str_join(injected_args, " "), &oss);
ss << "injectargs:" << oss.str();
rs = ss.str();
goto out;
@@ -2154,10 +2151,7 @@ void Monitor::handle_command(MMonCommand *m)
vector<string> tagsvec;
cmd_getval(g_ceph_context, cmdmap, "tags", tagsvec);
- stringstream tags;
- std::copy(tagsvec.begin(), tagsvec.end(),
- ostream_iterator<string>(tags, " "));
- string tagstr = tags.str();
+ string tagstr = str_join(tagsvec, " ");
if (!tagstr.empty())
tagstr = tagstr.substr(0, tagstr.find_last_of(' '));
f->dump_string("tag", tagstr);