small ipv6 doc changes; nslookup a tiny bit smaller
diff --git a/docs/ipv4_ipv6.txt b/docs/ipv4_ipv6.txt
index 5a63aa7..76d8279 100644
--- a/docs/ipv4_ipv6.txt
+++ b/docs/ipv4_ipv6.txt
@@ -212,7 +212,8 @@
 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));
diff --git a/networking/nc.c b/networking/nc.c
index a940d8a..2f8a36b 100644
--- a/networking/nc.c
+++ b/networking/nc.c
@@ -25,7 +25,6 @@
 	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 @@
 
 			if (!execparam) close(sfd);
 		} else {
+			struct hostent *hostinfo;
 			hostinfo = xgethostbyname(argv[0]);
 
 			address.sin_addr = *(struct in_addr *) *hostinfo->h_addr_list;
diff --git a/networking/nslookup.c b/networking/nslookup.c
index dd49e26..89a2d64 100644
--- a/networking/nslookup.c
+++ b/networking/nslookup.c
@@ -82,9 +82,10 @@
 		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 {