diff options
author | rubidium <rubidium@openttd.org> | 2010-12-05 22:24:50 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-12-05 22:24:50 +0000 |
commit | cf61c2f11fbffe20749382feb8fe03d238a2888d (patch) | |
tree | f6a5ff6ee367f3a62f59d1e7099aeafcfb665b5f /src/subsidy.cpp | |
parent | 768da4b48f8c70177cb5dfc77a30a23a98a3ae05 (diff) | |
download | openttd-cf61c2f11fbffe20749382feb8fe03d238a2888d.tar.xz |
(svn r21412) -Codechange: limit company name by amount of characters, not bytes
Diffstat (limited to 'src/subsidy.cpp')
-rw-r--r-- | src/subsidy.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
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<char>(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)); |