diff -r a1e347446159 -r 28ccaba883f4 genericservices/httputils/UriParser/SipUriParser.cpp --- a/genericservices/httputils/UriParser/SipUriParser.cpp Fri Sep 17 19:25:42 2010 +0530 +++ b/genericservices/httputils/UriParser/SipUriParser.cpp Wed Oct 13 19:39:18 2010 +0530 @@ -168,6 +168,10 @@ } else { + // First, move past the opening brace + authority.Set(authority.Mid(startHostIPv6 + 1)); + // auth now = X:X:X]????? + // This is an IPv6 address, so it MUST have the closing brace too.... TInt endIPv6Host = authority.Locate(KIPv6UriCloseBrace); @@ -181,16 +185,13 @@ // It's an ipv6 address, with an opening and closing brace. So now just extract it // auth = [X:X:X]????? - // First, move past the opening brace - authority.Set(authority.Mid(startHostIPv6 + 1)); - // auth now = X:X:X]????? // Set the host, and need to remove the closing brace - aHost.Set(authority.Left(endIPv6Host - 1)); + aHost.Set(authority.Left(endIPv6Host)); // host = X:X:X // Move past the host - authority.Set(authority.Mid(endIPv6Host)); + authority.Set(authority.Mid(endIPv6Host + 1 )); } // Get the port...