diff options
-rw-r--r-- | cpukit/ChangeLog | 2 | ||||
-rw-r--r-- | cpukit/libnetworking/libc/gethostnamadr.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 35bd8d798d..633c71f7d8 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,7 @@ 2010-05-27 Ralf Corsépius <ralf.corsepius@rtems.org> + * libnetworking/libc/gethostnamadr.c: + Try to make crazy address arithmetic more portable. * libfs/src/nfsclient/src/xdr_mbuf.c: Use void* arithmetic instead of u_long arithmetic. * libnetworking/netinet/raw_ip.c, diff --git a/cpukit/libnetworking/libc/gethostnamadr.c b/cpukit/libnetworking/libc/gethostnamadr.c index 213e29d292..709552beb8 100644 --- a/cpukit/libnetworking/libc/gethostnamadr.c +++ b/cpukit/libnetworking/libc/gethostnamadr.c @@ -381,7 +381,7 @@ int gethostbyname_r(const char* name, strcpy(buf,name); result->h_addr_list=(char**)(buf+strlen(name)+1); - result->h_addr_list+=sizeof(unsigned long)-((unsigned long)(result->h_addr_list)&(sizeof(unsigned long)-1)); + result->h_addr_list+=sizeof(char*)-((size_t)(result->h_addr_list)&(sizeof(char*)-1)); result->h_addr_list[0]=(char*)&result->h_addr_list[2]; if (inet_pton(AF_INET,name,result->h_addr_list[0])) { result->h_addrtype=AF_INET; |