diff options
Diffstat (limited to 'source4/lib')
-rw-r--r-- | source4/lib/talloc/config.m4 | 14 | ||||
-rw-r--r-- | source4/lib/talloc/talloc.c | 18 |
2 files changed, 17 insertions, 15 deletions
diff --git a/source4/lib/talloc/config.m4 b/source4/lib/talloc/config.m4 index d4c68ca52b..0286bde6c2 100644 --- a/source4/lib/talloc/config.m4 +++ b/source4/lib/talloc/config.m4 @@ -1,3 +1,6 @@ +AC_CHECK_HEADERS(stdarg.h vararg.h) + +dnl VA_COPY AC_CACHE_CHECK([for va_copy],samba_cv_HAVE_VA_COPY,[ AC_TRY_LINK([#include <stdarg.h> va_list ap1,ap2;], [va_copy(ap1,ap2);], @@ -6,8 +9,17 @@ if test x"$samba_cv_HAVE_VA_COPY" = x"yes"; then AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available]) fi +if test x"$samba_cv_HAVE_VA_COPY" != x"yes"; then +AC_CACHE_CHECK([for __va_copy],samba_cv_HAVE___VA_COPY,[ +AC_TRY_LINK([#include <stdarg.h> +va_list ap1,ap2;], [__va_copy(ap1,ap2);], +samba_cv_HAVE___VA_COPY=yes,samba_cv_HAVE___VA_COPY=no)]) +if test x"$samba_cv_HAVE___VA_COPY" = x"yes"; then + AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available]) +fi +fi + AC_CHECK_TYPE(intptr_t, unsigned long long) -AC_CHECK_HEADERS(stdint.h stdarg.h unistd.h sys/types.h) AC_CHECK_SIZEOF(size_t,cross) AC_CHECK_SIZEOF(void *,cross) diff --git a/source4/lib/talloc/talloc.c b/source4/lib/talloc/talloc.c index ca76b05332..5a14109190 100644 --- a/source4/lib/talloc/talloc.c +++ b/source4/lib/talloc/talloc.c @@ -37,22 +37,12 @@ #include <string.h> #include <errno.h> -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#ifdef HAVE_STDARG_H +#if defined(HAVE_STDARG_H) #include <stdarg.h> -#else +#elif defined (HAVE_VARARGS_H) #include <varargs.h> -#endif - -#ifdef HAVE_STDINT_H -#include <stdint.h> +#else +#error "no var arg header" #endif #include "talloc.h" |