diff options
author | Leah Neukirchen <leah@vuxu.org> | 2019-02-10 21:23:09 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2019-02-10 21:23:09 +0100 |
commit | 8d09a5339e18735d7492e3fe178edbad6abad3f0 (patch) | |
tree | 4ff760db71360883a3ec9be00c46732b2dca37d1 | |
parent | b85c56f30ce1a5b9cb4de6dffea126f1af745066 (diff) | |
download | mblaze-8d09a5339e18735d7492e3fe178edbad6abad3f0.tar.gz mblaze-8d09a5339e18735d7492e3fe178edbad6abad3f0.tar.xz mblaze-8d09a5339e18735d7492e3fe178edbad6abad3f0.zip |
mdeliver: preserve mtime in mrefile
-rw-r--r-- | mdeliver.c | 10 |
1 files changed, 10 insertions, 0 deletions
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) |