X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;ds=inline;f=m4%2Ftsearch.m4;h=1ae71b10e4b479404b624813a953933360f14c2d;hb=1f8c872f267bc608644d6de67aa5fab6285a8533;hp=0281fb918ce7f3cd8d9b02af6316c2c9e24bcf5e;hpb=06cd74c141f523c2997cf5a13243ef68b6a2ae81;p=gnulib.git diff --git a/m4/tsearch.m4 b/m4/tsearch.m4 index 0281fb918..1ae71b10e 100644 --- a/m4/tsearch.m4 +++ b/m4/tsearch.m4 @@ -1,5 +1,5 @@ -# tsearch.m4 serial 3 -dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. +# tsearch.m4 serial 5 +dnl Copyright (C) 2006-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,7 +14,7 @@ AC_DEFUN([gl_FUNC_TSEARCH], AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether tdelete works], [gl_cv_func_tdelete_works], [ - AC_TRY_RUN([ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include static int @@ -25,14 +25,18 @@ cmp_fn (const void *a, const void *b) int main () { + int result = 0; int x = 0; void *root = NULL; - if (!(tfind (&x, &root, cmp_fn) == NULL)) return 1; + if (!(tfind (&x, &root, cmp_fn) == NULL)) + result |= 1; tsearch (&x, &root, cmp_fn); - if (!(tfind (&x, &root, cmp_fn) != NULL)) return 1; - if (!(tdelete (&x, &root, cmp_fn) != NULL)) return 1; - return 0; -}], [gl_cv_func_tdelete_works=yes], [gl_cv_func_tdelete_works=no], + if (!(tfind (&x, &root, cmp_fn) != NULL)) + result |= 2; + if (!(tdelete (&x, &root, cmp_fn) != NULL)) + result |= 4; + return result; +}]])], [gl_cv_func_tdelete_works=yes], [gl_cv_func_tdelete_works=no], [case "$host_os" in openbsd*) gl_cv_func_tdelete_works="guessing no";; *) gl_cv_func_tdelete_works="guessing yes";;