Merge pull request #209 from tsenart/master

util: Handle all errors in writeFileSync
pull/820/head
Ben Johnson 2014-03-29 14:37:47 -06:00
commit c6bdf639c2
1 changed files with 5 additions and 4 deletions

View File

@ -25,15 +25,16 @@ func writeFileSynced(filename string, data []byte, perm os.FileMode) error {
if err != nil {
return err
}
defer f.Close() // Idempotent
n, err := f.Write(data)
if n < len(data) {
f.Close()
if err == nil && n < len(data) {
return io.ErrShortWrite
} else if err != nil {
return err
}
err = f.Sync()
if err != nil {
if err = f.Sync(); err != nil {
return err
}