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