small ipv6 doc changes; nslookup a tiny bit smaller

This commit is contained in:
Denis Vlasenko 2006-11-07 19:05:43 +00:00
parent 6476cc1089
commit 8528151658
3 changed files with 6 additions and 4 deletions

View File

@ -212,7 +212,8 @@ structure the code differently.
Here's the corresponding server C code for a dual-stack platform:
int ServSock, csock;
struct sockaddr addr, from;
/* struct sockaddr is too small! */
struct sockaddr_storage addr, from;
...
ServSock = socket(AF_INET6, SOCK_STREAM, PF_INET6);
bind(ServSock, &addr, sizeof(addr));

View File

@ -25,7 +25,6 @@ int nc_main(int argc, char **argv)
SKIP_NC_EXTRA (const int execparam = 0;)
USE_NC_EXTRA (char **execparam = NULL;)
struct sockaddr_in address;
struct hostent *hostinfo;
fd_set readfds, testfds;
int opt; /* must be signed (getopt returns -1) */
@ -116,6 +115,7 @@ int nc_main(int argc, char **argv)
if (!execparam) close(sfd);
} else {
struct hostent *hostinfo;
hostinfo = xgethostbyname(argv[0]);
address.sin_addr = *(struct in_addr *) *hostinfo->h_addr_list;

View File

@ -82,9 +82,10 @@ static int print_host(const char *hostname, const char *header)
while (cur) {
sockaddr_to_dotted(cur->ai_addr, str, sizeof(str));
printf("%s %s\nAddress: %s", header, hostname, str);
if (getnameinfo(cur->ai_addr, cur->ai_addrlen, str, sizeof(str), NULL, 0, NI_NAMEREQD))
s[0] = ' ';
if (getnameinfo(cur->ai_addr, cur->ai_addrlen, str+1, sizeof(str)-1, NULL, 0, NI_NAMEREQD))
str[0] = '\0';
printf(" %s\n", str);
puts(str);
cur = cur->ai_next;
}
} else {