diff --git a/src/coeio.m b/src/coeio.m index 95247eedae43fff3be993ee6cd5f91ae55f81444..f6f34b8a81e87ab52c248d4f987cad382d5d3b74 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 abe1f933ba4fefdd95dc0edfb255bd2b1ce23666..4118db8d2e542d3c3ba27d2a0a53b0f0b5ab2c0e 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);