diff options
| author | Fabio Alessandrelli | 2016-12-05 16:32:38 +0100 |
|---|---|---|
| committer | Fabio Alessandrelli | 2017-01-04 00:46:33 +0100 |
| commit | 00fdcf3cd000d0b2cf0bb1a95733ce905ca972f4 (patch) | |
| tree | e6bfa1e7d1910adcab3c896ec559e24893d2c298 /drivers/unix/ip_unix.cpp | |
| parent | 7ef71b901372eaa046479b8a946d64277fd4bf0c (diff) | |
| download | godot-00fdcf3cd000d0b2cf0bb1a95733ce905ca972f4.tar.gz godot-00fdcf3cd000d0b2cf0bb1a95733ce905ca972f4.tar.zst godot-00fdcf3cd000d0b2cf0bb1a95733ce905ca972f4.zip | |
Diffstat (limited to 'drivers/unix/ip_unix.cpp')
| -rw-r--r-- | drivers/unix/ip_unix.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index cc9e6ef13..ab0c4ea52 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -75,13 +75,10 @@ static IP_Address _sockaddr2ip(struct sockaddr* p_addr) { IP_Address ip; if (p_addr->sa_family == AF_INET) { struct sockaddr_in* addr = (struct sockaddr_in*)p_addr; - ip.field32[0] = *((unsigned long*)&addr->sin_addr); - ip.type = IP_Address::TYPE_IPV4; + ip.set_ipv4((uint8_t *)&(addr->sin_addr)); } else { struct sockaddr_in6* addr6 = (struct sockaddr_in6*)p_addr; - for (int i=0; i<16; i++) - ip.field8[i] = addr6->sin6_addr.s6_addr[i]; - ip.type = IP_Address::TYPE_IPV6; + ip.set_ipv6(addr6->sin6_addr.s6_addr); }; return ip; @@ -189,15 +186,12 @@ void IP_Unix::get_local_addresses(List<IP_Address> *r_addresses) const { SOCKADDR_IN* ipv4 = reinterpret_cast<SOCKADDR_IN*>(address->Address.lpSockaddr); - ip.field32[0] = *((unsigned long*)&ipv4->sin_addr); - ip.type = IP_Address::TYPE_IPV4; + ip.set_ipv4((uint8_t *)&(ipv4->sin_addr)); } else { // ipv6 SOCKADDR_IN6* ipv6 = reinterpret_cast<SOCKADDR_IN6*>(address->Address.lpSockaddr); - for (int i=0; i<16; i++) { - ip.field8[i] = ipv6->sin6_addr.s6_addr[i]; - }; - ip.type = IP_Address::TYPE_IPV6; + + ip.set_ipv6(ipv6->sin6_addr.s6_addr); }; |
