Fix CurseForge file loader/ID comparison

(unsigned arithmetic moment)
This commit is contained in:
comp500 2023-04-26 03:17:29 +01:00
parent 7de26ec5c3
commit 21876cba1e

View File

@ -306,11 +306,11 @@ func findLatestFile(modInfoData modInfo, mcVersions []string, packLoaders []stri
compare := int32(mcVerIdx - bestMcVer)
if compare == 0 {
// Prefer higher loader indexes
compare = int32(loaderIdx - bestLoaderType)
compare = int32(loaderIdx) - int32(bestLoaderType)
}
if compare == 0 {
// Other comparisons are equal, compare by ID instead
compare = int32(v.ID - fileID)
compare = int32(int64(v.ID) - int64(fileID))
}
if compare > 0 {
fileID = v.ID
@ -333,11 +333,11 @@ func findLatestFile(modInfoData modInfo, mcVersions []string, packLoaders []stri
compare := int32(mcVerIdx - bestMcVer)
if compare == 0 {
// Prefer higher loader indexes
compare = int32(loaderIdx - bestLoaderType)
compare = int32(loaderIdx) - int32(bestLoaderType)
}
if compare == 0 {
// Other comparisons are equal, compare by ID instead
compare = int32(v.ID - fileID)
compare = int32(int64(v.ID) - int64(fileID))
}
if compare > 0 {
fileID = v.ID