Pause file version

This commit is contained in:
Richard Patel 2019-02-03 16:08:42 +01:00
parent acbfd78a5d
commit a3aebe4ef2
No known key found for this signature in database
GPG Key ID: C268B2BBDA2ABECB

View File

@ -84,10 +84,15 @@ func SaveTask(od *OD) (err error) {
err = os.Mkdir(dir, 0777)
if err != nil { return err }
// Open pause file
pausedF, err := os.OpenFile(fPath, os.O_CREATE | os.O_WRONLY | os.O_TRUNC, 0666)
if err != nil { return err }
defer pausedF.Close()
// Write pause file version
_, err = pausedF.Write([]byte("ODPAUSE-"))
if err != nil { return err }
// Create save state
paused := PausedOD {
Task: &od.Task,
@ -144,6 +149,13 @@ func resumeQueue(id uint64) (od *OD, err error) {
BaseUri: &od.BaseUri,
}
var version [8]byte
_, err = io.ReadFull(pausedF, version[:])
if err != nil { return nil, err }
if !bytes.Equal(version[:], []byte("ODPAUSE-")) {
return nil, fmt.Errorf("unsupported pause file")
}
// Read pause settings
pauseDec := gob.NewDecoder(pausedF)
err = pauseDec.Decode(&paused)