lib: Modify FileInfos consistently (ref #6321) (#6349)

This commit is contained in:
Simon Frei
2020-02-22 09:31:26 +01:00
committed by Jakob Borg
parent bb375b1aff
commit a4bd4d118a
6 changed files with 57 additions and 41 deletions
+22 -10
View File
@@ -266,24 +266,36 @@ func BlocksEqual(a, b []BlockInfo) bool {
}
func (f *FileInfo) SetMustRescan(by ShortID) {
f.LocalFlags = FlagLocalMustRescan
f.ModifiedBy = by
f.Blocks = nil
f.Sequence = 0
f.setLocalFlags(by, FlagLocalMustRescan)
}
func (f *FileInfo) SetIgnored(by ShortID) {
f.LocalFlags = FlagLocalIgnored
f.ModifiedBy = by
f.Blocks = nil
f.Sequence = 0
f.setLocalFlags(by, FlagLocalIgnored)
}
func (f *FileInfo) SetUnsupported(by ShortID) {
f.LocalFlags = FlagLocalUnsupported
f.setLocalFlags(by, FlagLocalUnsupported)
}
func (f *FileInfo) SetDeleted(by ShortID) {
f.ModifiedBy = by
f.Deleted = true
f.Version = f.Version.Update(by)
f.ModifiedS = time.Now().Unix()
f.setNoContent()
}
func (f *FileInfo) setLocalFlags(by ShortID, flags uint32) {
f.RawInvalid = false
f.LocalFlags = flags
f.ModifiedBy = by
f.setNoContent()
}
func (f *FileInfo) setNoContent() {
f.Blocks = nil
f.Sequence = 0
f.BlocksHash = nil
f.Size = 0
}
func (b BlockInfo) String() string {