From 193fa1c079fd886623e55810556a9461561ca139 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Sat, 3 Sep 2011 10:19:08 +0200 Subject: Accept square brackets around IPv6 address Signed-off-by: Martin Sustrik --- src/tcp_address.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/tcp_address.cpp b/src/tcp_address.cpp index b6370fa..0aa564a 100644 --- a/src/tcp_address.cpp +++ b/src/tcp_address.cpp @@ -373,6 +373,11 @@ int zmq::tcp_address_t::resolve (const char *name_, bool local_, bool ipv4only_) std::string addr_str (name_, delimiter - name_); std::string port_str (delimiter + 1); + // Remove square brackets around the address, if any. + if (!addr_str.empty () && addr_str [0] == '[' && + addr_str [addr_str.size () - 1] == ']') + addr_str = addr_str.substr (1, addr_str.size () - 2); + // Parse the port number (0 is not a valid port). uint16_t port = (uint16_t) atoi (port_str.c_str()); if (port == 0) { -- cgit v1.2.3