diff -NurpP --minimal ./libcruft/gethostbyname_r.c.orig ./libcruft/gethostbyname_r.c --- ./libcruft/gethostbyname_r.c.orig 2002-11-27 10:51:56.000000000 +0100 +++ ./libcruft/gethostbyname_r.c 2005-05-01 07:07:14.000000000 +0200 @@ -19,12 +19,13 @@ int gethostbyname_r(const char* name, st char *buf, size_t buflen, struct hostent **RESULT, int *h_errnop) { size_t L=strlen(name); + unsigned int offset; result->h_name=buf; if (buflenh_addr_list=(char**)(buf+strlen(name)+1); - result->h_addr_list+=sizeof(unsigned long)-((unsigned long)(result->h_addr_list)&(sizeof(unsigned long)-1)); + offset = strlen(name)+1; + result->h_addr_list=(char**)(buf+offset+(sizeof(char *)-(offset&(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;