int main(int argc, char **argv) { struct hostent *he; int error; (void)argc; while (argv[1] != NULL) { he = gethostbyname(argv[1]); print_he(he, h_errno, "gethostbyname", argv[1]); he = getipnodebyname(argv[1], AF_INET6, AI_DEFAULT|AI_ALL, &error); print_he(he, error, "getipnodebyname", argv[1]); if (he != NULL) freehostent(he); he = getipnodebyname(argv[1], AF_INET6, AI_DEFAULT, &error); print_he(he, error, "getipnodebyname", argv[1]); if (he != NULL) freehostent(he); argv++; } return (0); }
int main(int argc, char **argv) { struct hostent *he; int error; struct in_addr in_addr; struct in6_addr in6_addr; void *addr; int af; size_t len; (void)argc; while (argv[1] != NULL) { if (inet_pton(AF_INET, argv[1], &in_addr) == 1) { af = AF_INET; addr = &in_addr; len = sizeof(in_addr); } else if (inet_pton(AF_INET6, argv[1], &in6_addr) == 1) { af = AF_INET6; addr = &in6_addr; len = sizeof(in6_addr); } else { printf("unable to convert \"%s\" to an address\n", argv[1]); argv++; continue; } he = gethostbyaddr(addr, len, af); print_he(he, h_errno, "gethostbyaddr", argv[1]); he = getipnodebyaddr(addr, len, af, &error); print_he(he, error, "getipnodebyaddr", argv[1]); if (he != NULL) freehostent(he); argv++; } return (0); }