From 8d09a5339e18735d7492e3fe178edbad6abad3f0 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sun, 10 Feb 2019 21:23:09 +0100 Subject: mdeliver: preserve mtime in mrefile --- mdeliver.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'mdeliver.c') diff --git a/mdeliver.c b/mdeliver.c index 7af186a..f300222 100644 --- a/mdeliver.c +++ b/mdeliver.c @@ -31,6 +31,7 @@ static char *Xflag; char *targetdir; long delivery; +int preserve_mtime; char host[64]; void @@ -187,6 +188,14 @@ tryagain: blaze822_free(msg); } + if (preserve_mtime) { + const struct timespec times[2] = { + { tv.tv_sec, tv.tv_usec * 1000L }, + st.st_mtim + }; + utimensat(AT_FDCWD, tmp, times, 0); + } + snprintf(dst, sizeof dst, "%s/%s/%s:2,%s", targetdir, (cflag || is_old) ? "cur" : "new", id, Xflag ? Xflag : statusflags); @@ -235,6 +244,7 @@ main(int argc, char *argv[]) // mrefile(1) cflag = 1; // use cur/ + preserve_mtime = 1; int c; while ((c = getopt(argc, argv, "kv")) != -1) -- cgit 1.4.1