]> git.ipfire.org Git - thirdparty/git.git/blobdiff - git-compat-util.h
git-compat-util: use gettimeofday(2) for time(2)
[thirdparty/git.git] / git-compat-util.h
index 4f0028ce60ce44ca7febc1fe78dda77b5a793a01..871c94587b69ac4f8154c89babe61ad548b2a4c4 100644 (file)
@@ -339,6 +339,25 @@ static inline const char *precompose_string_if_needed(const char *in)
 int compat_mkdir_wo_trailing_slash(const char*, mode_t);
 #endif
 
+#ifdef time
+#undef time
+#endif
+static inline time_t git_time(time_t *tloc)
+{
+       struct timeval tv;
+
+       /*
+        * Avoid time(NULL), which can disagree with gettimeofday(2)
+        * and filesystem timestamps.
+        */
+       gettimeofday(&tv, NULL);
+
+       if (tloc)
+               *tloc = tv.tv_sec;
+       return tv.tv_sec;
+}
+#define time git_time
+
 #ifdef NO_STRUCT_ITIMERVAL
 struct itimerval {
        struct timeval it_interval;