| 1859 | } |
| 1860 | |
| 1861 | void Net::addressToString(const NetAddress *address, char addressString[256]) |
| 1862 | { |
| 1863 | if(address->type == NetAddress::IPAddress || address->type == NetAddress::IPBroadcastAddress) |
| 1864 | { |
| 1865 | sockaddr_in ipAddr; |
| 1866 | NetAddressToIPSocket(address, &ipAddr); |
| 1867 | |
| 1868 | if (ipAddr.sin_addr.s_addr == htonl(INADDR_BROADCAST) || address->type == NetAddress::IPBroadcastAddress) |
| 1869 | { |
| 1870 | if (ipAddr.sin_port == 0) |
| 1871 | dSprintf(addressString, 256, "IP:Broadcast"); |
| 1872 | else |
| 1873 | dSprintf(addressString, 256, "IP:Broadcast:%d", ntohs(ipAddr.sin_port)); |
| 1874 | } |
| 1875 | else |
| 1876 | { |
| 1877 | char buffer[256]; |
| 1878 | buffer[0] = '\0'; |
| 1879 | sockaddr_in ipAddr; |
| 1880 | NetAddressToIPSocket(address, &ipAddr); |
| 1881 | inet_ntop(AF_INET, &(ipAddr.sin_addr), buffer, sizeof(buffer)); |
| 1882 | if (ipAddr.sin_port == 0) |
| 1883 | dSprintf(addressString, 256, "IP:%s", buffer); |
| 1884 | else |
| 1885 | dSprintf(addressString, 256, "IP:%s:%i", buffer, ntohs(ipAddr.sin_port)); |
| 1886 | } |
| 1887 | } |
| 1888 | else if (address->type == NetAddress::IPV6Address) |
| 1889 | { |
| 1890 | char buffer[256]; |
| 1891 | buffer[0] = '\0'; |
| 1892 | sockaddr_in6 ipAddr; |
| 1893 | NetAddressToIPSocket6(address, &ipAddr); |
| 1894 | inet_ntop(AF_INET6, &(ipAddr.sin6_addr), buffer, sizeof(buffer)); |
| 1895 | if (ipAddr.sin6_port == 0) |
| 1896 | dSprintf(addressString, 256, "IP6:%s", buffer); |
| 1897 | else |
| 1898 | dSprintf(addressString, 256, "IP6:[%s]:%i", buffer, ntohs(ipAddr.sin6_port)); |
| 1899 | } |
| 1900 | else if (address->type == NetAddress::IPV6MulticastAddress) |
| 1901 | { |
| 1902 | if (address->port == 0) |
| 1903 | dSprintf(addressString, 256, "IP6:Multicast"); |
| 1904 | else |
| 1905 | dSprintf(addressString, 256, "IP6:Multicast:%d", address->port); |
| 1906 | } |
| 1907 | else |
| 1908 | { |
| 1909 | *addressString = 0; |
| 1910 | return; |
| 1911 | } |
| 1912 | } |
| 1913 | |
| 1914 | void Net::enableMulticast() |
| 1915 | { |
nothing calls this directly
no test coverage detected