*: gethostname-related fixes

function                                             old     new   delta
hostname_main                                        218     231     +13
nfsmount                                            3541    3474     -67

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/networking/hostname.c b/networking/hostname.c
index 579eff7..121ad40 100644
--- a/networking/hostname.c
+++ b/networking/hostname.c
@@ -132,10 +132,14 @@
 			if (*p)
 				puts(p + 1);
 		} else /*if (opts & OPT_i)*/ {
-			while (hp->h_addr_list[0]) {
-				printf("%s ", inet_ntoa(*(struct in_addr *) (*hp->h_addr_list++)));
+			if (hp->h_length == sizeof(struct in_addr)) {
+				struct in_addr **h_addr_list = (struct in_addr **)hp->h_addr_list;
+				while (*h_addr_list) {
+					printf("%s ", inet_ntoa(**h_addr_list));
+					h_addr_list++;
+				}
+				bb_putchar('\n');
 			}
-			bb_putchar('\n');
 		}
 	} else if (opts & OPT_F) {
 		/* Set the hostname */