listen: use gethostbyname() on WIN32
WIN32 has no getaddrinfo(). Fall back to gethostbyname().
This commit is contained in:
parent
fa9b5fd10b
commit
019bca2475
18
src/listen.c
18
src/listen.c
@ -174,6 +174,7 @@ parseListenConfigParam(G_GNUC_UNUSED unsigned int port, ConfigParam * param)
|
|||||||
#endif /* HAVE_UN */
|
#endif /* HAVE_UN */
|
||||||
} else {
|
} else {
|
||||||
#ifdef HAVE_TCP
|
#ifdef HAVE_TCP
|
||||||
|
#ifndef WIN32
|
||||||
struct addrinfo hints, *ai, *i;
|
struct addrinfo hints, *ai, *i;
|
||||||
char service[20];
|
char service[20];
|
||||||
int ret;
|
int ret;
|
||||||
@ -202,6 +203,23 @@ parseListenConfigParam(G_GNUC_UNUSED unsigned int port, ConfigParam * param)
|
|||||||
BINDERROR();
|
BINDERROR();
|
||||||
|
|
||||||
freeaddrinfo(ai);
|
freeaddrinfo(ai);
|
||||||
|
#else /* WIN32 */
|
||||||
|
const struct hostent *he;
|
||||||
|
|
||||||
|
g_debug("binding to address for %s", param->value);
|
||||||
|
|
||||||
|
he = gethostbyname(param->value);
|
||||||
|
if (he == NULL)
|
||||||
|
g_error("can't lookup host \"%s\" at line %i",
|
||||||
|
param->value, param->line);
|
||||||
|
|
||||||
|
if (he->h_addrtype != AF_INET)
|
||||||
|
g_error("IPv4 address expected for host \"%s\" at line %i",
|
||||||
|
param->value, param->line);
|
||||||
|
|
||||||
|
if (establishListen(AF_INET, he->h_addr, he->h_length) < 0)
|
||||||
|
BINDERROR();
|
||||||
|
#endif /* !WIN32 */
|
||||||
#else /* HAVE_TCP */
|
#else /* HAVE_TCP */
|
||||||
g_error("TCP support is disabled");
|
g_error("TCP support is disabled");
|
||||||
#endif /* HAVE_TCP */
|
#endif /* HAVE_TCP */
|
||||||
|
Loading…
Reference in New Issue
Block a user