From f5039c8ec7e4636cd02c17c846c3839b7039ef56 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 1 Apr 2021 12:32:05 +0800 Subject: [PATCH] msg/msg_types: let ceph_entity_name::parse() accept string_view instead of accepting string, use string_view for the parsed string. so the caller does not have to construct a temporary std::string object for passing the string to be parsed. Signed-off-by: Kefu Chai --- src/msg/msg_types.h | 8 ++++---- src/tools/rados/rados.cc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h index cf0574972d30..7a542c23279f 100644 --- a/src/msg/msg_types.h +++ b/src/msg/msg_types.h @@ -81,11 +81,11 @@ public: return n; } - bool parse(const std::string& s) { - const char *start = s.c_str(); - char *end; + bool parse(std::string_view s) { + const char *start = s.data(); + char *end = nullptr; bool got = parse(start, &end); - return got && end == start + s.length(); + return got && end == start + s.size(); } bool parse(const char *start, char **end) { if (strstr(start, "mon.") == start) { diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc index 7564fc7f0f2a..cbdcc2286937 100644 --- a/src/tools/rados/rados.cc +++ b/src/tools/rados/rados.cc @@ -1306,7 +1306,7 @@ static int do_lock_cmd(std::vector &nargs, usage_exit(); if (cmd.compare("break") == 0) { - string locker(nargs[4]); + const char* locker = nargs[4]; rados::cls::lock::Lock l(lock_name); l.set_cookie(lock_cookie); l.set_tag(lock_tag); -- 2.47.3