File 0880-ei-Fix-ei_resolve.c-compilation-for-Android.patch of Package erlang

From de1a8e419e65ee6a7d73f823c90b2a25d9377e4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20de=20Bretagne?=
 <jerome.debretagne@gmail.com>
Date: Thu, 3 Mar 2022 00:15:18 +0100
Subject: [PATCH] ei: Fix ei_resolve.c compilation for Android

---
 lib/erl_interface/src/connect/ei_resolve.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

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
 
-- 
2.34.1

openSUSE Build Service is sponsored by