diff options
author | Denis Vlasenko | 2006-11-07 19:05:43 +0000 |
---|---|---|
committer | Denis Vlasenko | 2006-11-07 19:05:43 +0000 |
commit | 8528151658927bcb4822f2956b93d352cf5ad2e6 (patch) | |
tree | 2a0bc89c187db4a406e382edf4b4f1605018e20b | |
parent | 6476cc108969cb44cad868d8df2c17ee2f953cc2 (diff) | |
download | busybox-8528151658927bcb4822f2956b93d352cf5ad2e6.zip busybox-8528151658927bcb4822f2956b93d352cf5ad2e6.tar.gz |
small ipv6 doc changes; nslookup a tiny bit smaller
-rw-r--r-- | docs/ipv4_ipv6.txt | 3 | ||||
-rw-r--r-- | networking/nc.c | 2 | ||||
-rw-r--r-- | networking/nslookup.c | 5 |
3 files changed, 6 insertions, 4 deletions
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 @@ 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)); 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 @@ 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; 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 @@ 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 { |