genericservices/httputils/UriParser/SipUriParser.cpp
branchRCL_3
changeset 27 3a7375419266
parent 0 e4d67989cc36
equal deleted inserted replaced
25:7701629b34a6 27:3a7375419266
   166 			// Move past the host
   166 			// Move past the host
   167 			authority.Set(authority.Mid(hostEndPos));
   167 			authority.Set(authority.Mid(hostEndPos));
   168 			}
   168 			}
   169 		else
   169 		else
   170 			{
   170 			{
       
   171 		// First, move past the opening brace
       
   172 		    authority.Set(authority.Mid(startHostIPv6 + 1));
       
   173 		    // auth now = X:X:X]?????
       
   174 
   171 			// This is an IPv6 address, so it MUST have the closing brace too....
   175 			// This is an IPv6 address, so it MUST have the closing brace too....
   172 			TInt endIPv6Host = authority.Locate(KIPv6UriCloseBrace);
   176 			TInt endIPv6Host = authority.Locate(KIPv6UriCloseBrace);
   173 
   177 
   174 			// Return an error if the closing IPv6 delimiter isn't there.
   178 			// Return an error if the closing IPv6 delimiter isn't there.
   175 			// or Host is empty
   179 			// or Host is empty
   179 				}
   183 				}
   180 
   184 
   181 			// It's an ipv6  address, with an opening and closing brace. So now just extract it
   185 			// It's an ipv6  address, with an opening and closing brace. So now just extract it
   182 			// auth = [X:X:X]?????
   186 			// auth = [X:X:X]?????
   183 
   187 
   184 			// First, move past the opening brace
       
   185 			authority.Set(authority.Mid(startHostIPv6 + 1));
       
   186 			// auth now = X:X:X]?????
       
   187 
   188 
   188 			// Set the host, and need to remove the closing brace
   189 			// Set the host, and need to remove the closing brace
   189 			aHost.Set(authority.Left(endIPv6Host - 1));
   190 			aHost.Set(authority.Left(endIPv6Host));
   190 			// host = X:X:X
   191 			// host = X:X:X
   191 
   192 
   192 			// Move past the host
   193 			// Move past the host
   193 			authority.Set(authority.Mid(endIPv6Host));
   194 			authority.Set(authority.Mid(endIPv6Host + 1 ));
   194 			}
   195 			}
   195 		
   196 		
   196 		// Get the port...
   197 		// Get the port...
   197 		TInt portEndPos = authority.Length();
   198 		TInt portEndPos = authority.Length();
   198 		if( portEndPos )
   199 		if( portEndPos )