From dde73f1de42ddfcd58d5aadeb1e13099afbe1471 Mon Sep 17 00:00:00 2001 From: fenner Date: Sun, 5 Jan 2003 14:05:24 +0000 Subject: Use in_addr_t for the right size of an IPv4 address, and copy into an unaligned destination using bcopy instead of an assignment. Submitted by: Hartmut Brandt PR: sparc64/46729 --- lib/libc/net/gethostbynis.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/libc') diff --git a/lib/libc/net/gethostbynis.c b/lib/libc/net/gethostbynis.c index ad336fc..73b12ed 100644 --- a/lib/libc/net/gethostbynis.c +++ b/lib/libc/net/gethostbynis.c @@ -67,6 +67,7 @@ _gethostbynis(name, map, af) static struct hostent h; static char *domain = (char *)NULL; static char ypbuf[YPMAXRECORD + 2]; + in_addr_t addr; switch(af) { case AF_INET: @@ -104,7 +105,8 @@ _gethostbynis(name, map, af) *cp++ = '\0'; h.h_addr_list = host_addrs; h.h_addr = hostaddr; - *((u_long *)h.h_addr) = inet_addr(result); + addr = inet_addr(result); + bcopy((char *)&addr, h.h_addr, size); h.h_length = size; h.h_addrtype = AF_INET; while (*cp == ' ' || *cp == '\t') -- cgit v1.1