small ipv6 doc changes; nslookup a tiny bit smaller
No binary (build failed)
—
(log yok)
| @@ -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)); | |
| @@ -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; | |
| @@ -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 { | |