diff options
Diffstat (limited to 'sysutils/cfengine39/files/patch-m4__strndup.m4')
-rw-r--r-- | sysutils/cfengine39/files/patch-m4__strndup.m4 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/sysutils/cfengine39/files/patch-m4__strndup.m4 b/sysutils/cfengine39/files/patch-m4__strndup.m4 new file mode 100644 index 000000000000..cb6d41d2e7cf --- /dev/null +++ b/sysutils/cfengine39/files/patch-m4__strndup.m4 @@ -0,0 +1,56 @@ +Index: m4/strndup.m4 +=================================================================== +--- /dev/null 2014-07-29 08:00:54.000000000 -0700 ++++ m4/strndup.m4 2014-07-29 08:01:42.499328796 -0700 +@@ -0,0 +1,51 @@ ++# strndup.m4 serial 21 ++dnl Copyright (C) 2002-2003, 2005-2013 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. ++ ++AC_DEFUN([cf3_FUNC_STRNDUP], ++[ ++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles ++ AC_CHECK_DECLS([strndup]) ++ AC_REPLACE_FUNCS([strndup]) ++ if test $ac_cv_have_decl_strndup = no; then ++ HAVE_DECL_STRNDUP=0 ++ fi ++ ++ if test $ac_cv_func_strndup = yes; then ++ HAVE_STRNDUP=1 ++ # AIX 5.3 has a function that tries to copy the entire range specified ++ # by n, instead of just the length of src. ++ AC_CACHE_CHECK([for working strndup], [cf3_cv_func_strndup_works], ++ [AC_RUN_IFELSE([ ++ AC_LANG_PROGRAM([[#include <string.h> ++ #include <stdlib.h>]], [[ ++#if !HAVE_DECL_STRNDUP ++ extern ++ #ifdef __cplusplus ++ "C" ++ #endif ++ char *strndup (const char *, size_t); ++#endif ++ char *s; ++ // Will crash if strndup tries to traverse all 2GB. ++ s = strndup ("string", 2000000000); ++ return 0;]])], ++ [cf3_cv_func_strndup_works=yes], ++ [cf3_cv_func_strndup_works=no], ++ [ ++changequote(,)dnl ++ case $host_os in ++ aix | aix[3-6]*) cf3_cv_func_strndup_works="guessing no";; ++ *) cf3_cv_func_strndup_works="guessing yes";; ++ esac ++changequote([,])dnl ++ ])]) ++ case $cf3_cv_func_strndup_works in ++ *no) AC_LIBOBJ([strndup]) ;; ++ esac ++ else ++ HAVE_STRNDUP=0 ++ fi ++]) |