diff options
Diffstat (limited to 'libc/inet')
-rw-r--r-- | libc/inet/resolv.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c index 0a6fd7aaf..056539f6e 100644 --- a/libc/inet/resolv.c +++ b/libc/inet/resolv.c @@ -1348,8 +1348,24 @@ int attribute_hidden __dns_lookup(const char *name, packet_len = i + j; /* send packet */ - DPRINTF("On try %d, sending query to port %d\n", - retries_left, NAMESERVER_PORT); +#ifdef DEBUG + { + const socklen_t plen = sa.sa.sa_family == AF_INET ? INET_ADDRSTRLEN : INET6_ADDRSTRLEN; + char *pbuf = malloc(plen); + if (pbuf == NULL) ;/* nothing */ +#ifdef __UCLIBC_HAS_IPV6__ + else if (sa.sa.sa_family == AF_INET6) + pbuf = (char*)inet_ntop(AF_INET6, &sa.sa6.sin6_addr, pbuf, plen); +#endif +#ifdef __UCLIBC_HAS_IPV4__ + else if (sa.sa.sa_family == AF_INET) + pbuf = (char*)inet_ntop(AF_INET, &sa.sa4.sin_addr, pbuf, plen); +#endif + DPRINTF("On try %d, sending query to %s, port %d\n", + retries_left, pbuf, NAMESERVER_PORT); + free(pbuf); + } +#endif fd = socket(sa.sa.sa_family, SOCK_DGRAM, IPPROTO_UDP); if (fd < 0) /* paranoia */ goto try_next_server; |