Fix chaos causing logic and do a deep copy of file first

This commit is contained in:
Ben Sarmiento
2023-11-18 23:59:54 +01:00
parent ff93baa6c1
commit d77caa7575

View File

@@ -572,11 +572,17 @@ func (t *TorrentManager) Repair(accessKey string) {
var selectedFiles []*File var selectedFiles []*File
var links []string var links []string
torrent.SelectedFiles.IterCb(func(_ string, file *File) { torrent.SelectedFiles.IterCb(func(_ string, file *File) {
selectedFiles = append(selectedFiles, file) fileCopy := &File{
if file.Link != "" { File: file.File,
links = append(links, file.Link) Added: file.Added,
Link: file.Link,
ZurgFS: file.ZurgFS,
} }
file.Link = "" // empty the links = chaos! selectedFiles = append(selectedFiles, fileCopy)
if fileCopy.Link != "" {
links = append(links, fileCopy.Link)
}
fileCopy.Link = "" // empty the links = chaos!
}) })
selectedFiles, _ = t.organizeChaos(links, selectedFiles) selectedFiles, _ = t.organizeChaos(links, selectedFiles)
for _, newFile := range selectedFiles { for _, newFile := range selectedFiles {