IP_Address::IP_Address(const String& p_string) { clear(); if (p_string.find(":") >= 0) { _parse_ipv6(p_string); type = TYPE_IPV6; } else { _parse_ipv4(p_string, 0, &field8[0]); type = TYPE_IPV4; }; }
IP_Address::IP_Address(const String &p_string) { clear(); if (p_string == "*") { // Wildcard (not a valid IP) wildcard = true; } else if (p_string.find(":") >= 0) { // IPv6 _parse_ipv6(p_string); valid = true; } else if (p_string.get_slice_count(".") == 4) { // IPv4 (mapped to IPv6 internally) field16[5] = 0xffff; _parse_ipv4(p_string, 0, &field8[12]); valid = true; } else { ERR_PRINT("Invalid IP address"); } }