From 925765e1d88079a0458ac1f428ffa6494bb58a76 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 12 Apr 2007 15:31:24 +0000 Subject: 2007-04-12 Christian Thalinger * 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. --- ChangeLog | 8 ++++++++ LICENSE | 36 ++++++++++++++++++++++++++++++++++++ configure.ac | 1 + native/jni/native-lib/cpnet.c | 9 +++++++++ 4 files changed, 54 insertions(+) diff --git a/ChangeLog b/ChangeLog index 53fa3b412..830f8c3f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-04-12 Christian Thalinger + + * 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 * 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 + Copyright © 2005 Daniel Richard G. + + 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; -- cgit v1.2.1