# Checks for library functions.
AC_FUNC_STRFTIME
AC_FUNC_STRERROR_R
-AC_CHECK_FUNCS([strchr strdup strstr gmtime_r ctime_r strtok_r strcasecmp])
+AC_CHECK_FUNCS([strchr strdup strstr gmtime_r strtok_r strcasecmp])
AC_CHECK_HEADERS([dlfcn.h])
# old_LIBS="$LIBS"
CXXFLAGS="$PTHREAD_CFLAGS $CXXFLAGS"
fi
+# Thank you Solaris, really.
+AC_MSG_CHECKING(for ctime_r)
+ if test -z "$ac_cv_ctime_args"; then
+ AC_TRY_COMPILE(
+ [#include <time.h>],
+ [
+ time_t clock;
+ char buf[26];
+ ctime_r(&clock, buf);
+ ], ac_cv_ctime_args=2)
+
+ AC_TRY_COMPILE(
+ [#include <time.h>],
+ [
+ time_t clock;
+ char buf[26];
+ ctime_r(&clock, buf, 26);
+ ], ac_cv_ctime_args=3)
+ fi
+ if test -z "$ac_cv_ctime_args"; then
+ AC_MSG_RESULT(no)
+ else
+ if test "$ac_cv_ctime_args" = 2; then
+ AC_DEFINE(HAVE_CTIME_R_2,1,[Define if ctime_r is present with 2 parameters.])
+ elif test "$ac_cv_ctime_args" = 3; then
+ AC_DEFINE(HAVE_CTIME_R_3,1,[Define if ctime_r is present with 3 parameters.])
+ fi
+ AC_MSG_RESULT([yes, and it takes $ac_cv_ctime_args arguments])
+ fi
+
# Test RPC now -- finish dealing with it later
AC_ARG_ENABLE(native-rpc,
AC_HELP_STRING([--enable-native-rpc], [use the OS-supplied Sun RPC library, default is NO, except Linux]),
{
// Create a timestamp
time_t now = time(NULL);
-#ifdef HAVE_CTIME_R
- char timebuf[32];
- insert("now", ctime_r(&now,timebuf,sizeof(timebuf)));
+#if defined(HAVE_CTIME_R_2)
+ char timebuf[32];
+ insert("now", ctime_r(&now,timebuf));
+#elif defined(HAVE_CTIME_R_3)
+ char timebuf[32];
+ insert("now", ctime_r(&now,timebuf,sizeof(timebuf)));
#else
- insert("now", ctime(&now));
+ insert("now", ctime(&now));
#endif
if (!output)