diff -r 7701629b34a6 -r 3a7375419266 genericservices/httputils/UriParser/SipUriParser.cpp --- a/genericservices/httputils/UriParser/SipUriParser.cpp Tue May 11 17:47:24 2010 +0300 +++ b/genericservices/httputils/UriParser/SipUriParser.cpp Tue May 25 14:32:39 2010 +0300 @@ -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...