1
1
Fork 0
mirror of https://github.com/schollz/croc.git synced 2025-10-11 13:21:00 +02:00
This commit is contained in:
Zack Scholl 2019-04-11 09:51:34 -07:00
parent 63b3e49dfa
commit 1868531ee7

View file

@ -132,26 +132,31 @@ func (s *Session) receiveData(pathToFile string, fileSize int64) error {
log.Debugf("receiving %s", pathToFile) log.Debugf("receiving %s", pathToFile)
// truncate if nessecary // truncate if nessecary
stat, errStat := os.Stat(pathToFile) var f *os.File
if errStat == nil { var errOpen error
f, errOpen = os.OpenFile(pathToFile, os.O_WRONLY, 0666)
if errOpen == nil {
stat, _ := f.Stat()
if stat.Size() != fileSize { if stat.Size() != fileSize {
err := os.Truncate(pathToFile, fileSize) err := f.Truncate(fileSize)
if err != nil { if err != nil {
log.Error(err)
return err return err
} }
} }
} else { } else {
os.Create(pathToFile) f, err := os.Create(pathToFile)
err := os.Truncate(pathToFile, fileSize)
if err != nil { if err != nil {
log.Error(err)
return err
}
err = f.Truncate(fileSize)
if err != nil {
log.Error(err)
return err return err
} }
} }
f, err := os.Open(pathToFile)
if err != nil {
return err
}
defer func() { defer func() {
log.Debugln("Stopped receiving data...") log.Debugln("Stopped receiving data...")
f.Close() f.Close()