// // Parse // // Convert this IPv4 address into a sequence of 4 8-bit numbers // unsafe private static bool Parse(string name, byte *numbers, int start, int end) { fixed(char *ipString = name) { int changedEnd = end; long result = IPv4AddressHelper.ParseNonCanonical(ipString, start, ref changedEnd, true); // end includes ports, so changedEnd may be different from end Debug.Assert(result != Invalid, "Failed to parse after already validated: " + name); numbers[0] = (byte)(result >> 24); numbers[1] = (byte)(result >> 16); numbers[2] = (byte)(result >> 8); numbers[3] = (byte)(result); } return(numbers[0] == 127); }