]> granicus.if.org Git - sudo/commitdiff
Fix check for strnlen() when cross-compiling.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 19 Jun 2015 15:54:12 +0000 (09:54 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 19 Jun 2015 15:54:12 +0000 (09:54 -0600)
configure
configure.ac

index ad5178cb2bc87d2149c81788bb2474fa6978d313..d69eb2f12cfecb059bcb922a8778186febb28089 100755 (executable)
--- a/configure
+++ b/configure
@@ -19293,7 +19293,9 @@ esac
 fi
 done
 
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5
+ac_fn_c_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen"
+if test "x$ac_cv_func_strnlen" = xyes; then :
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5
 $as_echo_n "checking for working strnlen... " >&6; }
 if ${ac_cv_func_strnlen_working+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -19350,6 +19352,15 @@ test $ac_cv_func_strnlen_working = no && case " $LIBOBJS " in
 esac
 
 
+else
+  case " $LIBOBJS " in
+  *" strnlen.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS strnlen.$ac_objext"
+ ;;
+esac
+
+fi
+
 if test X"$ac_cv_func_strnlen_working" = X"yes"; then
     $as_echo "#define HAVE_STRNLEN 1" >>confdefs.h
 
@@ -19380,7 +19391,7 @@ fi
 done
 
 else
-    # Broken libc strnlen, use our own.
+    # Broken or missing strnlen, use our own.
 
     for _sym in sudo_strnlen; do
        COMPAT_EXP="${COMPAT_EXP}${_sym}
index d84773b155bed5ce1f965c6d1bae2de72b43da0f..2d277c57e22eeb07413667c0e62a423062375973 100644 (file)
@@ -2590,7 +2590,7 @@ AC_CHECK_FUNCS([strlcat], [], [
     AC_LIBOBJ(strlcat)
     SUDO_APPEND_COMPAT_EXP(sudo_strlcat)
 ])
-AC_FUNC_STRNLEN
+AC_CHECK_FUNC([strnlen], [AC_FUNC_STRNLEN], [AC_LIBOBJ(strnlen)])
 if test X"$ac_cv_func_strnlen_working" = X"yes"; then
     AC_DEFINE(HAVE_STRNLEN)
     AC_CHECK_FUNCS([strndup], [], [
@@ -2598,7 +2598,7 @@ if test X"$ac_cv_func_strnlen_working" = X"yes"; then
        SUDO_APPEND_COMPAT_EXP(sudo_strndup)
     ])
 else
-    # Broken libc strnlen, use our own.
+    # Broken or missing strnlen, use our own.
     SUDO_APPEND_COMPAT_EXP(sudo_strnlen)
     # Avoid libc strndup() since it is usually implemented using strnlen()
     AC_LIBOBJ(strndup)