summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/system.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/system.h b/src/system.h
index 84ac9cd68..73739e56a 100644
--- a/src/system.h
+++ b/src/system.h
@@ -81,6 +81,17 @@
# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
#endif
+#ifdef HAVE_ST_MTIM
+# define ST_TIME_CMP_NS(a, b, ns) ((a).ns < (b).ns ? -1 : (a).ns > (b).ns)
+#else
+# define ST_TIME_CMP_NS(a, b, ns) 0
+#endif
+#define ST_TIME_CMP(a, b, s, ns) \
+ ((a).s < (b).s ? -1 : (a).s > (b).s ? 1 : ST_TIME_CMP_NS(a, b, ns))
+#define ATIME_CMP(a, b) ST_TIME_CMP (a, b, st_atime, st_atim.tv_nsec)
+#define CTIME_CMP(a, b) ST_TIME_CMP (a, b, st_ctime, st_ctim.tv_nsec)
+#define MTIME_CMP(a, b) ST_TIME_CMP (a, b, st_mtime, st_mtim.tv_nsec)
+
#if !defined(HAVE_MKFIFO)
# define mkfifo(path, mode) (mknod ((path), (mode) | S_IFIFO, 0))
#endif