From 53151f4f890f302291eb8d3375dec4f8ecb66ed7 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Thu, 28 Mar 2019 22:22:45 +0100 Subject: mdeliver: add fallback to utimes for systems that don't have utimensat Namely, macOS before 10.13. --- mdeliver.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mdeliver.c') diff --git a/mdeliver.c b/mdeliver.c index f202420..80dbe1a 100644 --- a/mdeliver.c +++ b/mdeliver.c @@ -223,6 +223,7 @@ try_again: } if (preserve_mtime) { +#if defined(AT_FDCWD) && defined(UTIME_NOW) && defined(UTIME_OMIT) const struct timespec times[2] = { { tv.tv_sec, tv.tv_usec * 1000L }, #if (defined(__APPLE__) && defined(__MACH__)) @@ -232,6 +233,13 @@ try_again: #endif }; utimensat(AT_FDCWD, tmp, times, 0); +#else + const struct timeval times[2] = { + tv, + { st.st_mtime, 0 } + }; + utimes(tmp, times); +#endif } snprintf(dst, sizeof dst, "%s/%s/%s:2,%s", -- cgit 1.4.1