diff --git a/src/network_interface.cpp b/src/network_interface.cpp index f48e522..6b061b6 100644 --- a/src/network_interface.cpp +++ b/src/network_interface.cpp @@ -331,7 +331,7 @@ NetworkInterface::Info NetworkInterface::info() const { } #else // _WIN32 - + #ifndef ANDROID struct ifaddrs* ifaddrs = 0; struct ifaddrs* if_it = 0; getifaddrs(&ifaddrs); @@ -341,7 +341,9 @@ NetworkInterface::Info NetworkInterface::info() const { if (ifaddrs) { freeifaddrs(ifaddrs); } - + #else + throw new std::runtime_error("android ifaddr not supported"); + #endif #endif // _WIN32 // If we didn't even get the hw address or ip address, this went wrong diff --git a/src/utils/routing_utils.cpp b/src/utils/routing_utils.cpp index 191803e..889d264 100644 --- a/src/utils/routing_utils.cpp +++ b/src/utils/routing_utils.cpp @@ -413,17 +413,21 @@ set network_interfaces() { } #else set network_interfaces() { - set output; - struct ifaddrs* ifaddrs = 0; - struct ifaddrs* if_it = 0; - getifaddrs(&ifaddrs); - for (if_it = ifaddrs; if_it; if_it = if_it->ifa_next) { - output.insert(if_it->ifa_name); - } - if (ifaddrs) { - freeifaddrs(ifaddrs); - } + #ifndef ANDROID + set output; + struct ifaddrs* ifaddrs = 0; + struct ifaddrs* if_it = 0; + getifaddrs(&ifaddrs); + for (if_it = ifaddrs; if_it; if_it = if_it->ifa_next) { + output.insert(if_it->ifa_name); + } + if (ifaddrs) { + freeifaddrs(ifaddrs); + } return output; + #else + throw std::runtime_error("android ifaddr not supported"); + #endif } #endif // _WIN32