From 4e9ee330dfb44a0e0dabcf54917c272681f230ac Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Fri, 6 Apr 2007 16:05:47 +0000 Subject: [PATCH] broaden inet_ntop support --- src/sigar.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/sigar.c b/src/sigar.c index 9780e9b3..fdc1dbf5 100644 --- a/src/sigar.c +++ b/src/sigar.c @@ -1864,22 +1864,29 @@ SIGAR_DECLARE(int) sigar_net_address_equals(sigar_net_address_t *addr1, } } +#if !defined(WIN32) && !defined(NETWARE) && !defined(__hpux) +#include +#define sigar_inet_ntop inet_ntop +#define sigar_inet_ntop_errno errno +#else +#define sigar_inet_ntop(af, src, dst, size) NULL +#define sigar_inet_ntop_errno EINVAL +#endif + SIGAR_DECLARE(int) sigar_net_address_to_string(sigar_t *sigar, sigar_net_address_t *address, char *addr_str) { switch (address->family) { case SIGAR_AF_INET6: -#if defined(__linux__) /*XXX*/ - if (inet_ntop(AF_INET6, (const void *)&address->addr.in6, - addr_str, SIGAR_INET6_ADDRSTRLEN)) + if (sigar_inet_ntop(AF_INET6, (const void *)&address->addr.in6, + addr_str, SIGAR_INET6_ADDRSTRLEN)) { return SIGAR_OK; } else { - return errno; + return sigar_inet_ntop_errno; } -#endif case SIGAR_AF_INET: return sigar_inet_ntoa(sigar, address->addr.in, addr_str); case SIGAR_AF_UNSPEC: