fix moveFile

Signed-off-by: Jess Frazelle <acidburn@google.com>
This commit is contained in:
Jess Frazelle 2017-03-15 09:26:19 -07:00
parent 598f9e670f
commit ec0de5f029
No known key found for this signature in database
GPG key ID: 18F3685C0022BFF3

View file

@ -43,28 +43,30 @@ func preload(c *cli.Context) (err error) {
return nil return nil
} }
func moveFile(src, dst string) (err error) { func moveFile(src, dest string) (err error) {
in, err := os.Open(src) srcfile, err := os.Open(src)
if err != nil { if err != nil {
return err return err
} }
defer in.Close() defer srcfile.Close()
tmp, err := ioutil.TempFile(filepath.Dir(dst), "")
if err != nil {
return err
}
_, err = io.Copy(tmp, in)
if err != nil {
tmp.Close()
os.Remove(tmp.Name())
return err
}
if err = tmp.Close(); err != nil {
os.Remove(tmp.Name())
return err
}
defer os.Remove(src) defer os.Remove(src)
return os.Rename(tmp.Name(), dst)
destfile, err := os.Create(dest)
if err != nil {
return err
}
defer destfile.Close()
if _, err := io.Copy(destfile, srcfile); err != nil {
return err
}
srcinfo, err := os.Stat(src)
if err != nil {
return err
}
return os.Chmod(dest, srcinfo.Mode())
} }
func main() { func main() {