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