From: Kefu Chai Date: Thu, 1 Apr 2021 04:32:05 +0000 (+0800) Subject: msg/msg_types: let ceph_entity_name::parse() accept string_view X-Git-Tag: v17.1.0~2388^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f5039c8ec7e4636cd02c17c846c3839b7039ef56;p=ceph.git 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 --- 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);