so it can be used in more places.
Signed-off-by: Kefu Chai <kchai@redhat.com>
// there on a weird port is a v1 address, and do not handle
// addrvecs.
entity_addr_t addr;
- if (!addr.parse(val.c_str(), nullptr, entity_addr_t::TYPE_LEGACY)) {
+ if (!addr.parse(val, entity_addr_t::TYPE_LEGACY)) {
errout << "unable to parse address for mon." << mon_name
<< ": addr='" << val << "'" << std::endl;
continue;
o.push_back(a);
}
-bool entity_addr_t::parse(const std::string_view s)
+bool entity_addr_t::parse(const std::string_view s, int default_type)
{
const char* start = s.data();
const char* end = nullptr;
- bool got = parse(start, &end);
+ bool got = parse(start, &end, default_type);
return got && end == start + s.size();
}
return ss.str();
}
- bool parse(const std::string_view s);
+ bool parse(const std::string_view s, int default_type=TYPE_DEFAULT);
bool parse(const char *s, const char **end = 0, int type=0);
void decode_legacy_addr_after_marker(ceph::buffer::list::const_iterator& bl)