From 6c78b6ec05a4748f422651d080a03bd359336cb1 Mon Sep 17 00:00:00 2001 From: Dmitry Simonenko <pmwkaa@gmail.com> Date: Mon, 8 Apr 2013 16:34:02 +0400 Subject: [PATCH] freebsd-fix: EAI_ADDRFAMILY is deprecated on FreeBSD. --- src/coeio.m | 9 ++++++++- src/sio.m | 6 ++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/coeio.m b/src/coeio.m index 95247eedae..f6f34b8a81 100644 --- a/src/coeio.m +++ b/src/coeio.m @@ -228,7 +228,14 @@ getaddrinfo_cb(va_list ap) * * See for details: https://bugs.launchpad.net/tarantool/+bug/1160877 */ - if (rc == EAI_ADDRFAMILY || rc == EAI_BADFLAGS) { + + /* EAI_ADDRFAMILY is deprecated on FreeBSD */ +#ifdef EAI_ADDRFAMILY + int is_rc = EAI_BADFLAGS|EAI_ADDRFAMILY; +#else + int is_rc = EAI_BADFLAGS; +#endif + if (rc == is_rc) { hints->ai_flags &= ~AI_ADDRCONFIG; rc = getaddrinfo(host, port, hints, res); } diff --git a/src/sio.m b/src/sio.m index abe1f933ba..4118db8d2e 100644 --- a/src/sio.m +++ b/src/sio.m @@ -271,7 +271,8 @@ ssize_t sio_sendto(int fd, const void *buf, size_t len, int flags, const struct sockaddr_in *dest_addr, socklen_t addrlen) { - ssize_t n = sendto(fd, buf, len, flags, dest_addr, addrlen); + ssize_t n = sendto(fd, buf, len, flags, (struct sockaddr*)dest_addr, + addrlen); if (n < 0 && errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) tnt_raise(SocketError, :fd in:"sendto(%zd)", len); @@ -283,7 +284,8 @@ ssize_t sio_recvfrom(int fd, void *buf, size_t len, int flags, struct sockaddr_in *src_addr, socklen_t *addrlen) { - ssize_t n = recvfrom(fd, buf, len, flags, src_addr, addrlen); + ssize_t n = recvfrom(fd, buf, len, flags, (struct sockaddr*)src_addr, + addrlen); if (n < 0 && errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) tnt_raise(SocketError, :fd in:"recvfrom(%zd)", len); -- GitLab