| 807 | |
| 808 | |
| 809 | String NetworkManagerBase::AddressToString(const struct in_addr& address, std::uint16_t port) |
| 810 | { |
| 811 | #if defined(DEATH_TARGET_EMSCRIPTEN) && defined(WITH_WEBSOCKET) |
| 812 | // TODO: Implement this properly on Emscripten |
| 813 | return {}; |
| 814 | #else |
| 815 | char addressString[64]; |
| 816 | |
| 817 | if (inet_ntop(AF_INET, &address, addressString, sizeof(addressString) - 1) == NULL) { |
| 818 | return {}; |
| 819 | } |
| 820 | |
| 821 | std::size_t addressLength = strnlen(addressString, sizeof(addressString)); |
| 822 | if (port != 0) { |
| 823 | addressLength = addressLength + formatInto({ &addressString[addressLength], sizeof(addressString) - addressLength }, ":{}", port); |
| 824 | } |
| 825 | return String(addressString, addressLength); |
| 826 | #endif |
| 827 | } |
| 828 | |
| 829 | #if ENET_IPV6 |
| 830 | String NetworkManagerBase::AddressToString(const struct in6_addr& address, std::uint16_t scopeId, std::uint16_t port) |
no test coverage detected