AC_DEFUN([jm_FUNC_UTIMES_NULL],
[AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null,
[rm -f conftest.data; > conftest.data
AC_TRY_RUN([
/* In case stat has been defined to rpl_stat, undef it here. */
main() {
struct stat s, t;
exit(!(stat ("conftest.data", &s) == 0
&& utimes("conftest.data", (long *)0) == 0
&& stat("conftest.data", &t) == 0
&& t.st_mtime >= s.st_mtime
&& t.st_mtime - s.st_mtime < 120));
}],
ac_cv_func_utimes_null=yes,
ac_cv_func_utimes_null=no,
ac_cv_func_utimes_null=no)
rm -f core core.* *.core])
if test $ac_cv_func_utimes_null = yes; then
AC_DEFINE_UNQUOTED(HAVE_UTIMES_NULL, 1,
[Define if utimes accepts a null argument])
fi
]
)