From: Daniel Stenberg Date: Thu, 12 Feb 2004 16:02:55 +0000 (+0000) Subject: Make hostcache_fixoffset() take a long for offset, to fully work with 64bit X-Git-Tag: curl-7_11_1~352 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4674f3f115fdff6c4c24f1c941ddc2944d43aecb;p=thirdparty%2Fcurl.git Make hostcache_fixoffset() take a long for offset, to fully work with 64bit archs, also no longer typecast pointers to ints as that is a nono on 64bit systems. --- diff --git a/lib/hostip.c b/lib/hostip.c index ed717f76f6..3e21961204 100644 --- a/lib/hostip.c +++ b/lib/hostip.c @@ -777,7 +777,7 @@ static Curl_addrinfo *my_getaddrinfo(struct connectdata *conn, #else /* following code is IPv4-only */ #if !defined(HAVE_GETHOSTBYNAME_R) || defined(USE_ARES) -static void hostcache_fixoffset(struct hostent *h, int offset); +static void hostcache_fixoffset(struct hostent *h, long offset); /* * Performs a "deep" copy of a hostent into a buffer (returns a pointer to the * copy). Make absolutely sure the destination buffer is big enough! @@ -856,11 +856,11 @@ static struct hostent* pack_hostent(char** buf, struct hostent* orig) /* now, shrink the allocated buffer to the size we actually need, which most often is only a fraction of the original alloc */ - newbuf=(char *)realloc(*buf, (int)bufptr-(int)(*buf)); + newbuf=(char *)realloc(*buf, (long)bufptr-(long)(*buf)); /* if the alloc moved, we need to adjust things again */ if(newbuf != *buf) - hostcache_fixoffset((struct hostent*)newbuf, (int)newbuf-(int)*buf); + hostcache_fixoffset((struct hostent*)newbuf, (long)newbuf-(long)*buf); /* setup the return */ *buf = newbuf; @@ -870,7 +870,7 @@ static struct hostent* pack_hostent(char** buf, struct hostent* orig) } #endif -static void hostcache_fixoffset(struct hostent *h, int offset) +static void hostcache_fixoffset(struct hostent *h, long offset) { int i=0;