Fix: do not use lengthof() for non C-style arrays

(cherry picked from commit c544a2be0ab457ad16ed274f597e026016e3fb2e)
tmp-jgrpp
Rubidium 3 weeks ago committed by Jonathan G Rennison
parent c5b854a422
commit 919830db7a

@ -2266,7 +2266,7 @@ struct NetworkCompanyPasswordWindow : public Window {
QueryString password_editbox; ///< Password editbox.
Dimension warning_size; ///< How much space to use for the warning text
NetworkCompanyPasswordWindow(WindowDesc *desc, Window *parent) : Window(desc), password_editbox(lengthof(_settings_client.network.default_company_pass))
NetworkCompanyPasswordWindow(WindowDesc *desc, Window *parent) : Window(desc), password_editbox(NETWORK_PASSWORD_LENGTH)
{
this->InitNested(0);
this->UpdateWarningStringSize();

@ -11161,7 +11161,7 @@ static void FinaliseIndustriesArray()
for (auto &indtsp : _industry_tile_specs) {
/* Apply default cargo translation map for unset cargo slots */
for (uint i = 0; i < lengthof(indtsp.accepts_cargo); ++i) {
for (size_t i = 0; i < indtsp.accepts_cargo.size(); ++i) {
if (!IsValidCargoID(indtsp.accepts_cargo[i])) indtsp.accepts_cargo[i] = GetCargoIDByLabel(GetActiveCargoLabel(indtsp.accepts_cargo_label[i]));
}
}

@ -2484,7 +2484,7 @@ static void GraphicsSetLoadConfig(IniFile &ini)
if (const IniItem *item = group->GetItem("extra_params"); item != nullptr && item->value) {
auto &extra_params = BaseGraphics::ini_data.extra_params;
extra_params.resize(lengthof(GRFConfig::param));
extra_params.resize(0x80); // TODO: make ParseIntList work nicely with C++ containers
int count = ParseIntList(item->value->c_str(), &extra_params.front(), extra_params.size());
if (count < 0) {
SetDParamStr(0, BaseGraphics::ini_data.name);

Loading…
Cancel
Save