summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/whois/whois.16
-rw-r--r--usr.bin/whois/whois.c19
2 files changed, 19 insertions, 6 deletions
diff --git a/usr.bin/whois/whois.1 b/usr.bin/whois/whois.1
index 5072473..debe3b1 100644
--- a/usr.bin/whois/whois.1
+++ b/usr.bin/whois/whois.1
@@ -86,6 +86,12 @@ of the supplied (single) argument, and appending
.Qq Li .whois-servers.net .
This effectively allows a suitable whois server to be selected
automatically for a large number of TLDs.
+.Pp
+In the event that an IP
+address is specified, the whois server will default to the American
+Registry for Internet Numbers
+.Pq Tn ARIN .
+.Pp
If no required
.Pa whois-servers.net
subdomain found, fallback to
diff --git a/usr.bin/whois/whois.c b/usr.bin/whois/whois.c
index af03a12..3e31a65 100644
--- a/usr.bin/whois/whois.c
+++ b/usr.bin/whois/whois.c
@@ -49,6 +49,7 @@ static const char rcsid[] =
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
+#include <ctype.h>
#include <err.h>
#include <netdb.h>
#include <stdio.h>
@@ -166,13 +167,19 @@ main(argc, argv)
}
}
if (j != 0) {
- qnichost = (char *) calloc(i - j + 1 +
- strlen(QNICHOST_TAIL), sizeof(char));
- if (!qnichost) {
- err(1, "calloc");
+ if (isdigit(*(*argv + j + 1))) {
+ (void) asprintf(&qnichost, "%s",
+ ANICHOST);
+ } else {
+ qnichost = (char *) calloc(i - j
+ + 1 + strlen(QNICHOST_TAIL),
+ sizeof(char));
+ if (!qnichost) {
+ err(1, "calloc");
+ }
+ strcpy(qnichost, *argv + j + 1);
+ strcat(qnichost, QNICHOST_TAIL);
}
- strcpy(qnichost, *argv + j + 1);
- strcat(qnichost, QNICHOST_TAIL);
memset(&hints, 0, sizeof(hints));
hints.ai_flags = 0;
OpenPOWER on IntegriCloud