From cf61c2f11fbffe20749382feb8fe03d238a2888d Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 5 Dec 2010 22:24:50 +0000 Subject: (svn r21412) -Codechange: limit company name by amount of characters, not bytes --- src/subsidy.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/subsidy.cpp') diff --git a/src/subsidy.cpp b/src/subsidy.cpp index e83da0ab2..341166480 100644 --- a/src/subsidy.cpp +++ b/src/subsidy.cpp @@ -40,20 +40,22 @@ void Subsidy::AwardTo(CompanyID company) this->awarded = company; this->remaining = SUBSIDY_CONTRACT_MONTHS; - char *company_name = MallocT(MAX_LENGTH_COMPANY_NAME_BYTES); - SetDParam(0, company); - GetString(company_name, STR_COMPANY_NAME, company_name + MAX_LENGTH_COMPANY_NAME_BYTES - 1); + char company_name[MAX_LENGTH_COMPANY_NAME_CHARS * MAX_CHAR_LENGTH]; + SetDParam(0, _current_company); + GetString(company_name, STR_COMPANY_NAME, lastof(company_name)); + + char *cn = strdup(company_name); /* Add a news item */ Pair reftype = SetupSubsidyDecodeParam(this, false); InjectDParam(1); - SetDParamStr(0, company_name); + SetDParamStr(0, cn); AddNewsItem( STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF + _settings_game.difficulty.subsidy_multiplier, NS_SUBSIDIES, (NewsReferenceType)reftype.a, this->src, (NewsReferenceType)reftype.b, this->dst, - company_name + cn ); AI::BroadcastNewEvent(new AIEventSubsidyAwarded(this->index)); -- cgit v1.2.3-54-g00ecf