* lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for

TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
porting problem reported by Georg Schwarz in
<http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
* m4/stat-time.m4 (gl_STAT_TIME): Likewise.
This commit is contained in:
Paul Eggert 2005-12-07 18:22:05 +00:00
parent c25ad39393
commit 5ea987eade
4 changed files with 49 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2005-12-07 Paul Eggert <eggert@cs.ucla.edu>
* stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
porting problem reported by Georg Schwarz in
<http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
2005-12-04 Jim Meyering <jim@meyering.net>
* openat-priv.h (EXPECTED_ERRNO): Add ENOSYS, for Solaris 8.

View File

@ -31,7 +31,11 @@
These macros are private to stat-time.h. */
#if defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
# define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim)
# ifdef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
# define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim)
# else
# define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.tv_nsec)
# endif
#elif defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
# define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim##espec)
#elif defined HAVE_STRUCT_STAT_ST_ATIMENSEC

View File

@ -1,3 +1,10 @@
2005-12-07 Paul Eggert <eggert@cs.ucla.edu>
* stat-time.m4 (gl_STAT_TIME): Add check for
TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
porting problem reported by Georg Schwarz in
<http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
2005-12-02 Paul Eggert <eggert@cs.ucla.edu>
* socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.

View File

@ -20,7 +20,36 @@ AC_DEFUN([gl_STAT_TIME],
AC_REQUIRE([AC_C_INLINE])
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec], [],
AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec],
[AC_CACHE_CHECK([whether struct stat.st_atim is of type struct timespec],
[ac_cv_typeof_struct_stat_st_atim_is_struct_timespec],
[AC_TRY_COMPILE(
[
#include <sys/types.h>
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#endif
#include <sys/stat.h>
struct timespec ts;
struct stat st;
],
[
st.st_atim = ts;
],
[ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes],
[ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no])])
if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then
AC_DEFINE([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], 1,
[Define to 1 if the type of the st_atim member of a struct stat is
struct timespec.])
fi],
[AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec], [],
[AC_CHECK_MEMBERS([struct stat.st_atimensec], [],
[AC_CHECK_MEMBERS([struct stat.st_atim.st__tim.tv_nsec], [],