summaryrefslogtreecommitdiff
path: root/src/subsidy.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-12-05 22:24:50 +0000
committerrubidium <rubidium@openttd.org>2010-12-05 22:24:50 +0000
commitcf61c2f11fbffe20749382feb8fe03d238a2888d (patch)
treef6a5ff6ee367f3a62f59d1e7099aeafcfb665b5f /src/subsidy.cpp
parent768da4b48f8c70177cb5dfc77a30a23a98a3ae05 (diff)
downloadopenttd-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.cpp12
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));