Mod dependency lists: Should have platform-independent line breaking

This fixes a bug existing in modmgr.lua as reported by @Wuzzy2 which
caused the mod dependency list to glitch if input was using a line
terminator different than the OS default.

The C++ code does not need any changes as it already trims CR
occurrences on platforms on which the line termination sequence is LF.

Taken into account the size of the depends.txt files used, this should
not introduce a noticeable performance regression.

Fixes #4720
This commit is contained in:
Bernardo Sulzbach 2016-12-12 00:39:09 -02:00 committed by paramat
parent c98ae2a91f
commit d9675d3d92

@ -296,6 +296,7 @@ function modmgr.get_dependencies(modfolder)
if dependencyfile then if dependencyfile then
local dependency = dependencyfile:read("*l") local dependency = dependencyfile:read("*l")
while dependency do while dependency do
dependency = dependency:gsub("\r", "")
if string.sub(dependency, -1, -1) == "?" then if string.sub(dependency, -1, -1) == "?" then
table.insert(soft_dependencies, string.sub(dependency, 1, -2)) table.insert(soft_dependencies, string.sub(dependency, 1, -2))
else else