diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-06-19 16:35:52 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-06-19 16:35:52 +0200 |
| commit | 7e63cfac7fbdb4b8f819d5ac870f2a6fce69d53a (patch) | |
| tree | 65740c16af3a826d742ca9215c9051e9616e0b45 /pkg | |
| parent | 261cdc2564653b62f966466332e5d145364b4073 (diff) | |
pkg/fileutil: improve CopyFile
- check Close error
- preserve modification time
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/fileutil/fileutil.go | 10 |
1 files changed, 10 insertions, 0 deletions
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 } |
