diff options
author | Brad King <brad.king@kitware.com> | 2016-11-16 18:27:07 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-11-16 18:27:07 (GMT) |
commit | 451e9f93be4a19f18c4a2ac0a1bd6776ba67c327 (patch) | |
tree | 81995d0c4cc922de509447cd203f4dd66cad2b1b /Source/kwsys/SystemInformation.cxx | |
parent | 095279bc94c81c4076de20474f1d3dd186764388 (diff) | |
parent | 572ac897733f0b6fe7baf67006db0e8f182db59c (diff) | |
download | CMake-451e9f93be4a19f18c4a2ac0a1bd6776ba67c327.zip CMake-451e9f93be4a19f18c4a2ac0a1bd6776ba67c327.tar.gz CMake-451e9f93be4a19f18c4a2ac0a1bd6776ba67c327.tar.bz2 |
Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
KWSys 2016-11-16 (a0c60eec)
Diffstat (limited to 'Source/kwsys/SystemInformation.cxx')
-rw-r--r-- | Source/kwsys/SystemInformation.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx index 1675da5..e01dcd7 100644 --- a/Source/kwsys/SystemInformation.cxx +++ b/Source/kwsys/SystemInformation.cxx @@ -79,6 +79,7 @@ typedef int siginfo_t; #include <sys/sysctl.h> #if defined(KWSYS_SYS_HAS_IFADDRS_H) #include <ifaddrs.h> +#include <net/if.h> #define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN #endif #endif @@ -99,6 +100,7 @@ typedef int siginfo_t; #include <sys/sysctl.h> #if defined(KWSYS_SYS_HAS_IFADDRS_H) #include <ifaddrs.h> +#include <net/if.h> #define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN #endif #if !(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0 >= 1050) @@ -113,6 +115,7 @@ typedef int siginfo_t; #include <sys/socket.h> #if defined(KWSYS_SYS_HAS_IFADDRS_H) #include <ifaddrs.h> +#include <net/if.h> #if !defined(__LSB_VERSION__) /* LSB has no getifaddrs */ #define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN #endif @@ -1696,7 +1699,9 @@ int SystemInformationImplementation::GetFullyQualifiedDomainName( for (ifa = ifas; ifa != NULL; ifa = ifa->ifa_next) { int fam = ifa->ifa_addr ? ifa->ifa_addr->sa_family : -1; - if ((fam == AF_INET) || (fam == AF_INET6)) { + // Skip Loopback interfaces + if (((fam == AF_INET) || (fam == AF_INET6)) && + !(ifa->ifa_flags & IFF_LOOPBACK)) { char host[NI_MAXHOST] = { '\0' }; const size_t addrlen = (fam == AF_INET ? sizeof(struct sockaddr_in) |