diff options
author | pasky <pasky@openttd.org> | 2005-02-28 22:33:31 +0000 |
---|---|---|
committer | pasky <pasky@openttd.org> | 2005-02-28 22:33:31 +0000 |
commit | 053d1bade3434a5227eb98a13dbf93f565f8e05e (patch) | |
tree | 8a3463fee7dbfd62aea1d68e0ff58b3990e48c50 | |
parent | 694741f4413a161307f7e5175a21c8ac1e425c6f (diff) | |
download | openttd-053d1bade3434a5227eb98a13dbf93f565f8e05e.tar.xz |
(svn r1916) Fix compilation on the glibc-2.2 systems. Part of the inspiration comes from patch 1149710 by Mr. Nobody. Also fixes the comment describing what to do if one's system doesn't have ifaddrs.h.
-rw-r--r-- | network_core.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/network_core.h b/network_core.h index ef2d89a70..7ca53a944 100644 --- a/network_core.h +++ b/network_core.h @@ -61,25 +61,27 @@ typedef struct ifreq IFREQ; # include <netinet/tcp.h> # include <arpa/inet.h> # include <net/if.h> -# if !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) +// According to glibc/NEWS, <ifaddrs.h> appeared in glibc-2.3. +# if !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) \ + && !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) +// If for any reason ifaddrs.h does not exist on your system, comment out +// the following two lines and an alternative way will be used to fetch +// the list of IPs from the system. # include <ifaddrs.h> -// If for any reason ifaddrs.h does not exist on a system, remove define below -// and an other system will be used to fetch ips from the system # define HAVE_GETIFADDRS -# else +# endif +# if defined(SUNOS) || defined(__MORPHOS__) || defined(__BEOS__) # define INADDR_NONE 0xffffffff -# endif // SUNOS +# endif # if defined(__BEOS__) && !defined(BEOS_NET_SERVER) // needed on Zeta # include <sys/sockio.h> # endif # endif // BEOS_NET_SERVER -/* GLibc 2.1 does not support GetIfAddr() */ -# if defined(__GLIBC__) && (__GLIBC__ == 2) && (__GLIBC_MINOR__ == 1) -# undef HAVE_GETIFADDRS +# if defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 1) typedef uint32_t in_addr_t; -# endif /* __GLIBC__ && (__GLIBC__ == 2) && (__GLIBC_MINOR__ == 1) */ +# endif # include <errno.h> # include <sys/time.h> |