diff --git a/addrs_ioctl.c b/addrs_ioctl.c index ff1a06a..3d58d0d 100644 --- a/addrs_ioctl.c +++ b/addrs_ioctl.c @@ -18,7 +18,7 @@ #include #include -#if defined __FreeBSD__ || defined __OpenBSD__ +#if defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__ #include #include #include @@ -71,10 +71,10 @@ get_addrs_ioctl(char *interface, char if_hw_addr[], struct in_addr *if_ip_addr) got_hw_addr = 1; } #else -#if defined __FreeBSD__ || defined __OpenBSD__ +#if defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__ { int sysctlparam[6] = {CTL_NET, PF_ROUTE, 0, 0, NET_RT_IFLIST, 0}; - int needed = 0; + size_t needed = 0; char *buf = NULL; struct if_msghdr *msghdr = NULL; sysctlparam[5] = if_nametoindex(interface);