freeaddrinfo and gai_strerror
svn: r1727
This commit is contained in:
parent
cfdbbf6a54
commit
a998c2de35
|
@ -33,6 +33,22 @@
|
|||
# define mz_hstrerror(x) NULL
|
||||
#endif
|
||||
|
||||
/* stolen from $(PLTHOME}/src/mzscheme/src/network.c */
|
||||
#ifdef HAVE_GETADDRINFO
|
||||
# define mz_freeaddrinfo freeaddrinfo
|
||||
# define mz_gai_strerror gai_strerror
|
||||
#else
|
||||
void mz_freeaddrinfo(struct mz_addrinfo *ai)
|
||||
{
|
||||
free(ai->ai_addr);
|
||||
free(ai);
|
||||
}
|
||||
const char *mz_gai_strerror(int ecode)
|
||||
{
|
||||
return hstrerror(ecode);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* stolen from $(PLTHOME}/src/mzscheme/src/network.c */
|
||||
/* For getting connection names: */
|
||||
#define MZ_SOCK_NAME_MAX_LEN 256
|
||||
|
@ -1061,7 +1077,7 @@ static Scheme_Object *ssl_connect(int argc, Scheme_Object *argv[])
|
|||
addr = scheme_get_host_address(address, nport, &err, -1, 0, 1);
|
||||
if (!addr) {
|
||||
sock = INVALID_SOCKET;
|
||||
errstr = gai_strerror(err);
|
||||
errstr = mz_gai_strerror(err);
|
||||
err = 0;
|
||||
goto clean_up_and_die;
|
||||
}
|
||||
|
@ -1079,7 +1095,7 @@ static Scheme_Object *ssl_connect(int argc, Scheme_Object *argv[])
|
|||
#endif
|
||||
|
||||
status = connect(sock, (struct sockaddr *)addr->ai_addr, addr->ai_addrlen);
|
||||
freeaddrinfo(addr);
|
||||
mz_freeaddrinfo(addr);
|
||||
|
||||
/* here's the complicated bit */
|
||||
if (status) {
|
||||
|
@ -1234,7 +1250,7 @@ ssl_listen(int argc, Scheme_Object *argv[])
|
|||
l->mref = mref;
|
||||
}
|
||||
|
||||
freeaddrinfo(tcp_listen_addr);
|
||||
mz_freeaddrinfo(tcp_listen_addr);
|
||||
|
||||
return (Scheme_Object *)l;
|
||||
}
|
||||
|
@ -1243,9 +1259,9 @@ ssl_listen(int argc, Scheme_Object *argv[])
|
|||
errid = SOCK_ERRNO();
|
||||
|
||||
closesocket(s);
|
||||
freeaddrinfo(tcp_listen_addr);
|
||||
mz_freeaddrinfo(tcp_listen_addr);
|
||||
} else {
|
||||
freeaddrinfo(tcp_listen_addr);
|
||||
mz_freeaddrinfo(tcp_listen_addr);
|
||||
errid = SOCK_ERRNO();
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue
Block a user