From de1a8e419e65ee6a7d73f823c90b2a25d9377e4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20de=20Bretagne?= Date: Thu, 3 Mar 2022 00:15:18 +0100 Subject: ei: Fix ei_resolve.c compilation for Android --- lib/erl_interface/src/connect/ei_resolve.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/erl_interface/src') diff --git a/lib/erl_interface/src/connect/ei_resolve.c b/lib/erl_interface/src/connect/ei_resolve.c index bbf10e3c77..7132613502 100644 --- a/lib/erl_interface/src/connect/ei_resolve.c +++ b/lib/erl_interface/src/connect/ei_resolve.c @@ -48,8 +48,11 @@ * thread-safe according to curl - but bizarrely, since AIX 4.3, libc * is thread-safe in a manner that makes the normal gethostbyname OK * for re-entrant use. + * + * gethostbyaddr_r was added in Android 6.0 Marshmallow so check if + * the build is targeting at least the corresponding API level 23. */ -#if defined(_AIX) || defined(__NetBSD__) +#if defined(_AIX) || defined(__NetBSD__) || (defined(__ANDROID__) && (__ANDROID_API__ < 23)) #undef HAVE_GETHOSTBYNAME_R #endif @@ -73,7 +76,7 @@ int ei_init_resolve(void) static ei_mutex_t *ei_gethost_sem = NULL; #endif /* _REENTRANT */ static int ei_resolve_initialized = 0; -#if !defined(__WIN32__) && !defined(_AIX) && !defined(__NetBSD__) +#if !defined(__WIN32__) && !defined(_AIX) && !defined(__NetBSD__) && !(defined(__ANDROID__) && (__ANDROID_API__ < 23)) int h_errno; #endif -- cgit v1.2.1