summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2007-04-12 15:31:24 +0000
committerMark Wielaard <mark@klomp.org>2007-04-12 15:31:24 +0000
commit925765e1d88079a0458ac1f428ffa6494bb58a76 (patch)
treed88537b6e87c32d4a36e81db3445c316233f8184
parentedc1e0f9e323256c6171eedeaad932f77be2ea07 (diff)
downloadclasspath-925765e1d88079a0458ac1f428ffa6494bb58a76.tar.gz
2007-04-12 Christian Thalinger <twisti@complang.tuwien.ac.at>
* LICENSE: Added m4/ax_func_which_gethostbyname_r.m4 license. * configure.ac: Added AX_FUNC_WHICH_GETHOSTBYNAME_R check. * m4/ax_func_which_gethostbyname_r.m4: New file. * native/jni/native-lib/cpnet.c (cpnet_getHostByName): Check for different number of arguments of gethostbyname_r.
-rw-r--r--ChangeLog8
-rw-r--r--LICENSE36
-rw-r--r--configure.ac1
-rw-r--r--native/jni/native-lib/cpnet.c9
4 files changed, 54 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 53fa3b412..830f8c3f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-04-12 Christian Thalinger <twisti@complang.tuwien.ac.at>
+
+ * LICENSE: Added m4/ax_func_which_gethostbyname_r.m4 license.
+ * configure.ac: Added AX_FUNC_WHICH_GETHOSTBYNAME_R check.
+ * m4/ax_func_which_gethostbyname_r.m4: New file.
+ * native/jni/native-lib/cpnet.c (cpnet_getHostByName): Check for
+ different number of arguments of gethostbyname_r.
+
2007-04-11 Francis Kung <fkung@redhat.com>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
diff --git a/LICENSE b/LICENSE
index 44620dcef..4e3d8b86f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -358,3 +358,39 @@ the following notice:
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
+
+
+* m4/ax_func_which_gethostbyname_r.m4
+
+ Copyright © 2005 Caolan McNamara <caolan@skynet.ie>
+ Copyright © 2005 Daniel Richard G. <skunk@iskunk.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA.
+
+ As a special exception, the respective Autoconf Macro's copyright
+ owner gives unlimited permission to copy, distribute and modify the
+ configure scripts that are the output of Autoconf when processing the
+ Macro. You need not follow the terms of the GNU General Public License
+ when using or distributing such scripts, even though portions of the
+ text of the Macro appear in them. The GNU General Public License
+ (GPL) does govern all other use of the material that constitutes the
+ Autoconf Macro.
+
+ This special exception to the GPL applies to versions of the
+ Autoconf Macro released by the Autoconf Macro Archive. When you make
+ and distribute a modified version of the Autoconf Macro, you may
+ extend this special exception to the GPL to apply to your modified
+ version as well.
diff --git a/configure.ac b/configure.ac
index 48d843b02..b2b8294de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -420,6 +420,7 @@ if test "x${COMPILE_JNI}" = xyes; then
AC_C_CONST
AC_C_ATTRIBUTE
+ AX_FUNC_WHICH_GETHOSTBYNAME_R
dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV
AM_ICONV
diff --git a/native/jni/native-lib/cpnet.c b/native/jni/native-lib/cpnet.c
index 1dddc0adf..f4ff0f15a 100644
--- a/native/jni/native-lib/cpnet.c
+++ b/native/jni/native-lib/cpnet.c
@@ -635,8 +635,17 @@ jint cpnet_getHostByName (JNIEnv *env, const char *hostname, cpnet_address ***ad
do
{
buf = (char *)JCL_malloc(env, buflen);
+
#ifdef HAVE_GETHOSTBYNAME_R
+# if defined(HAVE_FUNC_GETHOSTBYNAME_R_6)
ret = gethostbyname_r (hostname, &hret, buf, buflen, &result, &herr);
+# elif defined(HAVE_FUNC_GETHOSTBYNAME_R_5)
+ result = gethostbyname_r(hostname, &hret, buf, buflen, &herr);
+# elif defined(HAVE_FUNC_GETHOSTBYNAME_R_3)
+# error IMPLEMENT ME!
+# else
+# error unknown number of arguments for gethostbyname_r
+# endif
#else
hret.h_addr_list = NULL;
hret.h_addrtype = 0;