diff --git a/src/core/StringBuilder.hpp b/src/core/StringBuilder.hpp index 3c39617a4a..b92f4001b0 100644 --- a/src/core/StringBuilder.hpp +++ b/src/core/StringBuilder.hpp @@ -125,7 +125,7 @@ private: { if (_capacity > capacity) return; - _capacity = Math::Max(8U, _capacity); + _capacity = Math::Max((size_t)8, _capacity); while (_capacity < capacity) { _capacity *= 2; } diff --git a/src/localisation/LanguagePack.cpp b/src/localisation/LanguagePack.cpp index b4386129ed..4a532c3c82 100644 --- a/src/localisation/LanguagePack.cpp +++ b/src/localisation/LanguagePack.cpp @@ -187,7 +187,10 @@ LanguagePack::ScenarioOverride *LanguagePack::GetScenarioOverride(const utf8 *sc for (size_t i = 0; i < _scenarioOverrides.size(); i++) { ScenarioOverride *so = &_scenarioOverrides[i]; - if (_stricmp(so->name, scenarioIdentifier) == 0) { + // At this point ScenarioOverrides were not yet rewritten to point at + // strings, but rather still hold offsets from base. + const utf8 *name = _stringDataSB.GetBuffer() + (size_t)so->name; + if (_stricmp(name, scenarioIdentifier) == 0) { return so; } }