1
0
镜像自地址 https://github.com/tuna/tunasync.git 已同步 2025-12-06 06:26:46 +00:00

Fix config_diff panics when old config or new config is empty

Fixes #190
这个提交包含在:
Miao Wang
2023-04-18 20:31:50 +08:00
父节点 c3b742c2a8
当前提交 45099fc7d3

查看文件

@@ -53,6 +53,7 @@ func diffMirrorConfig(oldList, newList []mirrorConfig) []mirrorCfgTrans {
sort.Sort(sortableMirrorList(oList)) sort.Sort(sortableMirrorList(oList))
sort.Sort(sortableMirrorList(nList)) sort.Sort(sortableMirrorList(nList))
if len(oList) != 0 && len(nList) != 0 {
// insert a tail node to both lists // insert a tail node to both lists
// as the maximum node // as the maximum node
lastOld, lastNew := oList[len(oList)-1], nList[len(nList)-1] lastOld, lastNew := oList[len(oList)-1], nList[len(nList)-1]
@@ -83,6 +84,14 @@ func diffMirrorConfig(oldList, newList []mirrorConfig) []mirrorCfgTrans {
j++ j++
} }
} }
} else {
for i := 0; i < len(oList); i++ {
operations = append(operations, mirrorCfgTrans{diffDelete, oList[i]})
}
for i := 0; i < len(nList); i++ {
operations = append(operations, mirrorCfgTrans{diffAdd, nList[i]})
}
}
return operations return operations
} }