version 1.54, 2017/03/15 16:45:25 |
version 1.55, 2017/03/17 14:59:01 |
|
|
|
|
__dead void usage(void); |
__dead void usage(void); |
int whois(const char *, const char *, const char *, int); |
int whois(const char *, const char *, const char *, int); |
char *choose_server(const char *, const char *); |
char *choose_server(const char *, const char *, char **); |
|
|
int |
int |
main(int argc, char *argv[]) |
main(int argc, char *argv[]) |
{ |
{ |
int ch, flags, rval; |
int ch, flags, rval; |
char *host, *name, *country, *server; |
char *host, *name, *country; |
|
|
country = host = NULL; |
country = host = NULL; |
flags = rval = 0; |
flags = rval = 0; |
|
|
if (host == NULL && country == NULL && !(flags & WHOIS_QUICK)) |
if (host == NULL && country == NULL && !(flags & WHOIS_QUICK)) |
flags |= WHOIS_RECURSE; |
flags |= WHOIS_RECURSE; |
for (name = *argv; (name = *argv) != NULL; argv++) { |
for (name = *argv; (name = *argv) != NULL; argv++) { |
server = host ? host : choose_server(name, country); |
char *tofree = NULL; |
|
const char *server = |
|
host ? host : choose_server(name, country, &tofree); |
rval += whois(name, server, port_whois, flags); |
rval += whois(name, server, port_whois, flags); |
if (host == NULL) |
free(tofree); |
free(server); |
|
} |
} |
return (rval); |
return (rval); |
} |
} |
|
|
* ASN (starts with AS). Fall back to NICHOST for the non-handle case. |
* ASN (starts with AS). Fall back to NICHOST for the non-handle case. |
*/ |
*/ |
char * |
char * |
choose_server(const char *name, const char *country) |
choose_server(const char *name, const char *country, char **tofree) |
{ |
{ |
char *server; |
char *server; |
const char *qhead; |
const char *qhead; |
|
|
err(1, NULL); |
err(1, NULL); |
} |
} |
|
|
|
*tofree = server; |
return (server); |
return (server); |
} |
} |
|
|