From e4309a8757f1a85b39d352fcc67e732a2e7e548e Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 24 Sep 2012 12:41:13 +0200 Subject: [PATCH] fix get local address in case of 3G connectivity on ios --- coreapi/misc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/coreapi/misc.c b/coreapi/misc.c index 15fc5374..df65b53f 100644 --- a/coreapi/misc.c +++ b/coreapi/misc.c @@ -971,10 +971,15 @@ static int get_local_ip_with_getifaddrs(int type, char *address, int size) if (getifaddrs(&ifpstart) < 0) { return -1; } - +#ifndef __linux + #define UP_FLAG IFF_UP /* interface is up */ +#else + #define UP_FLAG IFF_RUNNING /* resources allocated */ +#endif + for (ifp = ifpstart; ifp != NULL; ifp = ifp->ifa_next) { if (ifp->ifa_addr && ifp->ifa_addr->sa_family == type - && (ifp->ifa_flags & IFF_RUNNING) && !(ifp->ifa_flags & IFF_LOOPBACK)) + && (ifp->ifa_flags & UP_FLAG) && !(ifp->ifa_flags & IFF_LOOPBACK)) { getnameinfo(ifp->ifa_addr, (type == AF_INET6) ? -- 2.39.2