diff options
-rw-r--r-- | configure.in | 1 | ||||
-rw-r--r-- | extra/resolveip.c | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/configure.in b/configure.in index a63f8d6b44c..4a54dcd397b 100644 --- a/configure.in +++ b/configure.in @@ -837,6 +837,7 @@ AC_CHECK_FUNC(p2open, , AC_CHECK_LIB(gen, p2open)) AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind)) # Check if crypt() exists in libc or libcrypt, sets LIBS if needed AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt])) +# See if we need a library for address lookup. AC_SEARCH_LIBS(inet_aton, [socket nsl resolv]) # For the sched_yield() function on Solaris diff --git a/extra/resolveip.c b/extra/resolveip.c index b61c0871aaf..e5fede7fda8 100644 --- a/extra/resolveip.c +++ b/extra/resolveip.c @@ -116,11 +116,13 @@ int main(int argc, char **argv) while (argc--) { + struct in_addr addr; ip = *argv++; - if (my_isdigit(&my_charset_latin1,ip[0])) + /* Not compatible with IPv6! Probably should use getnameinfo(). */ + if (inet_aton(ip, &addr) != 0) { - taddr = inet_addr(ip); + taddr= addr.s_addr; if (taddr == htonl(INADDR_BROADCAST)) { puts("Broadcast"); |