From 80d0c9f1d2beb1d4d2c67d5a2fb842471b028042 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 5 Apr 2021 11:11:03 +0800 Subject: [PATCH] src: use entity_addr_t::parse(string_view) when possible for better readability Signed-off-by: Kefu Chai --- src/ceph_mon.cc | 2 +- src/common/cmdparse.cc | 2 +- src/common/options.cc | 2 +- src/common/pick_address.cc | 3 +-- src/librados/RadosClient.cc | 2 +- src/mon/Monitor.cc | 3 +-- src/mon/MonmapMonitor.cc | 2 +- src/mon/OSDMonitor.cc | 2 +- src/tools/rbd/action/Kernel.cc | 4 +--- 9 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc index a468d8b9d16d2..306d663d33a88 100644 --- a/src/ceph_mon.cc +++ b/src/ceph_mon.cc @@ -747,7 +747,7 @@ int main(int argc, const char **argv) if (g_conf().get_val_from_conf_file(my_sections, "mon addr", mon_addr_str, true) == 0) { entity_addr_t conf_addr; - if (conf_addr.parse(mon_addr_str.c_str())) { + if (conf_addr.parse(mon_addr_str)) { entity_addrvec_t conf_addrs = make_mon_addrs(conf_addr); if (ipaddrs != conf_addrs) { derr << "WARNING: 'mon addr' config option " << conf_addrs diff --git a/src/common/cmdparse.cc b/src/common/cmdparse.cc index b8cf316340de5..f1756a292a521 100644 --- a/src/common/cmdparse.cc +++ b/src/common/cmdparse.cc @@ -526,7 +526,7 @@ bool validate_str_arg(std::string_view value, { if (type == "CephIPAddr") { entity_addr_t addr; - if (addr.parse(string(value).c_str())) { + if (addr.parse(value)) { return true; } else { os << "failed to parse addr '" << value << "', should be ip:[port]"; diff --git a/src/common/options.cc b/src/common/options.cc index 4a70c85dbf22d..73b7a8c0e9e88 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -178,7 +178,7 @@ int Option::parse_value( } } else if (type == Option::TYPE_ADDR) { entity_addr_t addr; - if (!addr.parse(val.c_str())){ + if (!addr.parse(val)){ return -EINVAL; } *out = addr; diff --git a/src/common/pick_address.cc b/src/common/pick_address.cc index ff7c32c4b7a4d..47f8875e0cedf 100644 --- a/src/common/pick_address.cc +++ b/src/common/pick_address.cc @@ -303,8 +303,7 @@ static int fill_in_one_address( } entity_addr_t addr; - const char *end = 0; - bool r = addr.parse(buf, &end); + bool r = addr.parse(buf); if (!r) { return -1; } diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index 47b928058c4f5..29f240440aeab 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -773,7 +773,7 @@ int librados::RadosClient::blocklist_add(const string& client_address, uint32_t expire_seconds) { entity_addr_t addr; - if (!addr.parse(client_address.c_str(), 0)) { + if (!addr.parse(client_address)) { lderr(cct) << "unable to parse address " << client_address << dendl; return -EINVAL; } diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index a4bef49690f28..6126db9caa609 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -1280,8 +1280,7 @@ bool Monitor::_add_bootstrap_peer_hint(std::string_view cmd, << addrstr << "'" << dendl; entity_addr_t addr; - const char *end = 0; - if (!addr.parse(addrstr.c_str(), &end, entity_addr_t::TYPE_ANY)) { + if (!addr.parse(addrstr, entity_addr_t::TYPE_ANY)) { ss << "failed to parse addrs '" << addrstr << "'; syntax is 'add_bootstrap_peer_hint ip[:port]'"; return false; diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc index ec72f410d1fcf..daeb4b572fd7b 100644 --- a/src/mon/MonmapMonitor.cc +++ b/src/mon/MonmapMonitor.cc @@ -584,7 +584,7 @@ bool MonmapMonitor::prepare_command(MonOpRequestRef op) entity_addr_t addr; bufferlist rdata; - if (!addr.parse(addrstr.c_str())) { + if (!addr.parse(addrstr)) { err = -EINVAL; ss << "addr " << addrstr << "does not parse"; goto reply; diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 521d57899e059..656499c59d0f1 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -12520,7 +12520,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, string addrstr; cmd_getval(cmdmap, "addr", addrstr); entity_addr_t addr; - if (!addr.parse(addrstr.c_str(), 0)) { + if (!addr.parse(addrstr)) { ss << "unable to parse address " << addrstr; err = -EINVAL; goto reply; diff --git a/src/tools/rbd/action/Kernel.cc b/src/tools/rbd/action/Kernel.cc index 3ed8e59037b09..55bd23ba6df1a 100644 --- a/src/tools/rbd/action/Kernel.cc +++ b/src/tools/rbd/action/Kernel.cc @@ -41,9 +41,7 @@ static std::string map_option_uuid_cb(const char *value_char) static std::string map_option_ip_cb(const char *value_char) { entity_addr_t a; - const char *endptr; - if (!a.parse(value_char, &endptr) || - endptr != value_char + strlen(value_char)) { + if (!a.parse(value_char)) { return ""; } -- 2.39.5