From 84beab1ef6f778949023e4f050c9b2329f06f305 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 10 Aug 2009 19:49:14 +0200 Subject: Added -r option to always resolve the RDNS --- src/host.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/host.c b/src/host.c index aa4372e..60ddb58 100644 --- a/src/host.c +++ b/src/host.c @@ -17,7 +17,7 @@ */ #define PRINT_USAGE \ - fprintf(stderr, "Usage: %s [-46] \n", argv[0]) + fprintf(stderr, "Usage: %s [-46r] \n", argv[0]) /** * \brief convert addrinfo to simple IP address @@ -54,6 +54,7 @@ int main(int argc, char **argv) { char hostname[NI_MAXHOST]; char ip_address[INET6_ADDRSTRLEN]; int ret; + int show_rdns = 0; enum { INPUT_NONE, INPUT_IP, @@ -61,7 +62,7 @@ int main(int argc, char **argv) { } input_type = INPUT_NONE; char option; - while ((option = getopt(argc, argv, "46")) != -1) { + while ((option = getopt(argc, argv, "46r")) != -1) { switch (option) { case '4': hints.ai_family = AF_INET; @@ -69,6 +70,9 @@ int main(int argc, char **argv) { case '6': hints.ai_family = AF_INET6; break; + case 'r': + show_rdns = 1; + break; default: PRINT_USAGE; return EXIT_FAILURE; @@ -97,7 +101,7 @@ int main(int argc, char **argv) { } if (input_type == INPUT_HOST) puts(ip_address); - else { + if ((input_type == INPUT_IP) || (show_rdns == 1)) { ret = getnameinfo(address->ai_addr, address->ai_addrlen, hostname, NI_MAXHOST, NULL, 0, 0); if (ret != 0) { fprintf(stderr, "getnameinfo: %s\n", gai_strerror(ret)); -- cgit v1.2.3