Пример #1
0
        //
        // 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);
        }