[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] [PATCH] unix/inodeprints.cc: Use struct stat's nanoseco
From: |
Matthew Gregan |
Subject: |
[Monotone-devel] [PATCH] unix/inodeprints.cc: Use struct stat's nanosecond time on more platforms. |
Date: |
Mon, 11 Apr 2005 12:49:08 +1200 |
User-agent: |
Mutt/1.5.6+20040907i |
Hello,
Here's a small patch to use struct stat's nanosecond time resolution on
more platforms (OpenBSD/NetBSD, and systems with _POSIX_SOURCE defined).
#
# patch "configure.ac"
# from [bcd745b40ff8e7a30f7b7d156ba8554a9cd022b7]
# to [a31b304c4c09edf7cb9f0e410bbb85588fd805e3]
#
# patch "unix/inodeprint.cc"
# from [cb13b2674eeacec64565ca12a6380115eae0ffa1]
# to [f38233ea64297fd37386fd1bc5c57aeeb8ff19f7]
#
--- configure.ac
+++ configure.ac
@@ -362,8 +362,10 @@
AC_HAVE_INADDR_NONE
AC_CHECK_MEMBERS([struct stat.st_ctim.tv_nsec, struct stat.st_mtim.tv_nsec])
-
+AC_CHECK_MEMBERS([struct stat.st_ctimespec.tv_nsec, struct
stat.st_mtimespec.tv_nsec])
+AC_CHECK_MEMBERS([struct stat.st_ctimensec, struct stat.st_mtimensec])
+
# Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_STAT
--- unix/inodeprint.cc
+++ unix/inodeprint.cc
@@ -38,12 +38,20 @@
// TODO: there are non-Linux variants which could be used.
#ifdef HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC
add_hash(hash, st.st_ctim.tv_nsec);
+#elif defined(HAVE_STRUCT_STAT_ST_CTIMESPEC_TV_NSEC)
+ add_hash(hash, st.st_ctimespec.tv_nsec);
+#elif defined(HAVE_STRUCT_STAT_ST_CTIMENSEC)
+ add_hash(hash, st.st_ctimensec);
#else
add_hash(hash, (long)0);
#endif
add_hash(hash, st.st_mtime);
#ifdef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
add_hash(hash, st.st_mtim.tv_nsec);
+#elif defined(HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC)
+ add_hash(hash, st.st_mtimespec.tv_nsec);
+#elif defined(HAVE_STRUCT_STAT_ST_MTIMENSEC)
+ add_hash(hash, st.st_mtimensec);
#else
add_hash(hash, (long)0);
#endif
Cheers,
-mjg
--
Matthew Gregan |/
/| address@hidden
- [Monotone-devel] [PATCH] unix/inodeprints.cc: Use struct stat's nanosecond time on more platforms.,
Matthew Gregan <=