X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=interface.c;h=b63e1121c75d8794fb578bd6368f123ab2e98d02;hb=9408e13ae1ef5419ebe93544ab337e94fcd3a522;hp=86332300ca18f79ddffcfbf72f110cfccee1d07f;hpb=05cb2b9c62b323a1278c81b6cbe00b2e4186b4f4;p=~andy%2Ffetchmail diff --git a/interface.c b/interface.c index 86332300..b63e1121 100644 --- a/interface.c +++ b/interface.c @@ -178,7 +178,7 @@ static int get_ifinfo(const char *ifname, ifinfo_t *ifinfo) /* hide slash and trailing info from ifname */ if (sp) *sp = '\0'; - result = _get_ifinfoGT_(socket_fd, stats_file, ifname, ifinfo); + result = _get_ifinfoGT_(socket_fd, stats_file, tmp, ifinfo); free(tmp); } if (socket_fd >= 0) @@ -384,7 +384,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 +514,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 +524,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; }