From 7e63cfac7fbdb4b8f819d5ac870f2a6fce69d53a Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 19 Jun 2017 16:35:52 +0200 Subject: pkg/fileutil: improve CopyFile - check Close error - preserve modification time --- pkg/fileutil/fileutil.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'pkg') diff --git a/pkg/fileutil/fileutil.go b/pkg/fileutil/fileutil.go index c244204a9..eae069e01 100644 --- a/pkg/fileutil/fileutil.go +++ b/pkg/fileutil/fileutil.go @@ -21,6 +21,10 @@ func CopyFile(oldFile, newFile string) error { return err } defer oldf.Close() + stat, err := oldf.Stat() + if err != nil { + return err + } newf, err := os.Create(newFile) if err != nil { return err @@ -30,6 +34,12 @@ func CopyFile(oldFile, newFile string) error { if err != nil { return err } + if err := newf.Close(); err != nil { + return err + } + if err := os.Chtimes(newFile, stat.ModTime(), stat.ModTime()); err != nil { + return err + } return nil } -- cgit mrf-deployment