From f83677056891e436bf5ba99e79240df2a44528cd Mon Sep 17 00:00:00 2001 From: "Stephen D. Huston" Date: Fri, 21 Oct 2011 14:42:12 +0000 Subject: Merged out from trunk git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-2519@1187375 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/Address.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/Address.cpp') diff --git a/cpp/src/qpid/Address.cpp b/cpp/src/qpid/Address.cpp index e2b2dfbcdf..bed3d592df 100644 --- a/cpp/src/qpid/Address.cpp +++ b/cpp/src/qpid/Address.cpp @@ -28,7 +28,13 @@ namespace qpid { const string Address::TCP("tcp"); ostream& operator<<(ostream& os, const Address& a) { - return os << a.protocol << ":" << a.host << ":" << a.port; + // If the host is an IPv6 literal we need to print "[]" around it + // (we detect IPv6 literals because they contain ":" which is otherwise illegal) + if (a.host.find(':') != string::npos) { + return os << a.protocol << ":[" << a.host << "]:" << a.port; + } else { + return os << a.protocol << ":" << a.host << ":" << a.port; + } } bool operator==(const Address& x, const Address& y) { -- cgit v1.2.1