From 6682695f1d492c9116ba191fc8a1548fbe1b4135 Mon Sep 17 00:00:00 2001 From: James Yonan Date: Thu, 6 Aug 2020 11:10:42 -0600 Subject: [PATCH] IP::Route: added to_string_optional_prefix_len() method When rendering a route or subnet, omit / for host addresses (i.e. /32 for IPv4 or /128 for IPv6). Signed-off-by: James Yonan --- openvpn/addr/route.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/openvpn/addr/route.hpp b/openvpn/addr/route.hpp index 52891c60..ce6e586e 100644 --- a/openvpn/addr/route.hpp +++ b/openvpn/addr/route.hpp @@ -200,6 +200,14 @@ namespace openvpn { return addr.to_string() + ' ' + netmask().to_string(); } + std::string to_string_optional_prefix_len() const + { + if (prefix_len == addr.size()) + return addr.to_string(); + else + return addr.to_string() + '/' + openvpn::to_string(prefix_len); + } + bool operator==(const RouteType& other) const { return std::tie(prefix_len, addr) == std::tie(other.prefix_len, other.addr);