X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=interface.c;h=f9445cb8aba1a01948dc50beb25aed0445146ae3;hb=24ab4a608c8ee1613698a1a312a7b30d138a241e;hp=287eaf186c5d8295097f182167faa91b0c762d5a;hpb=9817020f1f7118a12c5eff6081430a3e286695d7;p=~andy%2Ffetchmail diff --git a/interface.c b/interface.c index 287eaf18..f9445cb8 100644 --- a/interface.c +++ b/interface.c @@ -24,12 +24,8 @@ #include #include -#if defined(STDC_HEADERS) #include -#endif -#if defined(HAVE_UNISTD_H) #include -#endif #include #include #include @@ -37,20 +33,18 @@ #include #if defined(__FreeBSD__) #if defined __FreeBSD_USE_KVM -#if __FreeBSD_version >= 300001 #include -#endif #include #include #include -#else +#else /* !defined __FreeBSD_USE_KVM */ #include #include #include -#endif -#endif +#endif /* defined __FreeBSD_USE_KVM */ +#endif /* defined __FreeBSD__ */ #include "socket.h" -#include "i18n.h" +#include "gettext.h" #include "tunable.h" typedef struct { @@ -231,14 +225,11 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) char iname[16]; struct ifnet ifnet; unsigned long ifnet_addr = ifnet_savedaddr; -#if __FreeBSD_version >= 300001 struct ifnethead ifnethead; struct ifaddrhead ifaddrhead; -#endif struct ifaddr ifaddr; unsigned long ifaddr_addr; struct sockaddr sa; - unsigned long sa_addr; uint i; if (if_egid) @@ -260,12 +251,8 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) } } -#if __FreeBSD_version >= 300001 kvm_read(kvmfd, ifnet_savedaddr, (char *) &ifnethead, sizeof ifnethead); ifnet_addr = (u_long) ifnethead.tqh_first; -#else - ifnet_addr = ifnet_savedaddr; -#endif while (ifnet_addr) { @@ -285,11 +272,7 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) ifinfo->rx_packets = ifnet.if_ipackets; ifinfo->tx_packets = ifnet.if_opackets; -#if __FreeBSD_version >= 300001 ifaddr_addr = (u_long) ifnet.if_addrhead.tqh_first; -#else - ifaddr_addr = (u_long) ifnet.if_addrlist; -#endif while(ifaddr_addr) { @@ -298,11 +281,7 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) if (sa.sa_family != AF_INET) { -#if __FreeBSD_version >= 300001 ifaddr_addr = (u_long) ifaddr.ifa_link.tqe_next; -#else - ifaddr_addr = (u_long) ifaddr.ifa_next; -#endif continue; } @@ -324,11 +303,7 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) return 0; } -#if __FreeBSD_version >= 300001 ifnet_addr = (u_long) ifnet.if_link.tqe_next; -#else - ifnet_addr = (unsigned long) ifnet.if_next; -#endif } if (if_egid) @@ -384,7 +359,7 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) char iname[16]; int mib[6]; - memset(ifinfo, 0, sizeof(ifinfo)); + memset(ifinfo, 0, sizeof(*ifinfo)); /* trim interface name */ @@ -514,7 +489,7 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) } sin = (struct sockaddr_in *)info.rti_info[RTAX_NETMASK]; - if (!sin) + if (sin) { ifinfo->netmask = sin->sin_addr; } @@ -524,7 +499,7 @@ get_ifinfo(const char *ifname, ifinfo_t *ifinfo) * of non point-to-point link */ sin = (struct sockaddr_in *)info.rti_info[RTAX_BRD]; - if (!sin) + if (sin) { ifinfo->dstaddr = sin->sin_addr; }