mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
made sure the correct pieces of code are compiled on IPv4-only hosts, and
the pack_hostent() is only compiled if gethostbyname_r() isn't present.
This commit is contained in:
parent
cfb32ec0cd
commit
47def8091c
30
lib/hostip.c
30
lib/hostip.c
@ -66,6 +66,20 @@
|
|||||||
#include "memdebug.h"
|
#include "memdebug.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is a wrapper function for freeing name information in a protocol
|
||||||
|
* independent way. This takes care of using the appropriate underlaying
|
||||||
|
* proper function.
|
||||||
|
*/
|
||||||
|
void Curl_freeaddrinfo(void *freethis)
|
||||||
|
{
|
||||||
|
#ifdef ENABLE_IPV6
|
||||||
|
freeaddrinfo(freethis);
|
||||||
|
#else
|
||||||
|
free(freethis);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/* --- resolve name or IP-number --- */
|
/* --- resolve name or IP-number --- */
|
||||||
|
|
||||||
#ifdef ENABLE_IPV6
|
#ifdef ENABLE_IPV6
|
||||||
@ -101,20 +115,6 @@ void curl_freeaddrinfo(struct addrinfo *freethis,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* This is a wrapper function for freeing name information in a protocol
|
|
||||||
* independent way. This takes care of using the appropriate underlaying
|
|
||||||
* proper function.
|
|
||||||
*/
|
|
||||||
void Curl_freeaddrinfo(void *freethis)
|
|
||||||
{
|
|
||||||
#ifdef ENABLE_IPV6
|
|
||||||
freeaddrinfo(freethis);
|
|
||||||
#else
|
|
||||||
free(freethis);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return name information about the given hostname and port number. If
|
* Return name information about the given hostname and port number. If
|
||||||
* successful, the 'addrinfo' is returned and the forth argument will point to
|
* successful, the 'addrinfo' is returned and the forth argument will point to
|
||||||
@ -146,6 +146,7 @@ Curl_addrinfo *Curl_getaddrinfo(struct SessionHandle *data,
|
|||||||
}
|
}
|
||||||
#else /* following code is IPv4-only */
|
#else /* following code is IPv4-only */
|
||||||
|
|
||||||
|
#ifndef HAVE_GETHOSTBYNAME_R
|
||||||
/**
|
/**
|
||||||
* Performs a "deep" copy of a hostent into a buffer
|
* Performs a "deep" copy of a hostent into a buffer
|
||||||
* (returns a pointer to the copy).
|
* (returns a pointer to the copy).
|
||||||
@ -214,6 +215,7 @@ static struct hostent* pack_hostent(char* buf, struct hostent* orig)
|
|||||||
|
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static char *MakeIP(unsigned long num,char *addr, int addr_len)
|
static char *MakeIP(unsigned long num,char *addr, int addr_len)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user