summaryrefslogtreecommitdiff
path: root/src/script/api/script_company.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/api/script_company.cpp')
-rw-r--r--src/script/api/script_company.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/script/api/script_company.cpp b/src/script/api/script_company.cpp
index efc2848a5..d4bc5d3e7 100644
--- a/src/script/api/script_company.cpp
+++ b/src/script/api/script_company.cpp
@@ -39,12 +39,16 @@
return ResolveCompanyID(company) == ResolveCompanyID(COMPANY_SELF);
}
-/* static */ bool ScriptCompany::SetName(const char *name)
+/* static */ bool ScriptCompany::SetName(Text *name)
{
- EnforcePrecondition(false, !::StrEmpty(name));
- EnforcePreconditionCustomError(false, ::Utf8StringLength(name) < MAX_LENGTH_COMPANY_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
+ CCountedPtr<Text> counter(name);
- return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_COMPANY, name);
+ EnforcePrecondition(false, name != NULL);
+ const char *text = name->GetEncodedText();
+ EnforcePrecondition(false, !::StrEmpty(text));
+ EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_COMPANY_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
+
+ return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_COMPANY, text);
}
/* static */ char *ScriptCompany::GetName(ScriptCompany::CompanyID company)
@@ -60,11 +64,15 @@
return company_name;
}
-/* static */ bool ScriptCompany::SetPresidentName(const char *name)
+/* static */ bool ScriptCompany::SetPresidentName(Text *name)
{
- EnforcePrecondition(false, !::StrEmpty(name));
+ CCountedPtr<Text> counter(name);
+
+ EnforcePrecondition(false, name != NULL);
+ const char *text = name->GetEncodedText();
+ EnforcePrecondition(false, !::StrEmpty(text));
- return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_PRESIDENT, name);
+ return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_PRESIDENT, text);
}
/* static */ char *ScriptCompany::GetPresidentName(ScriptCompany::CompanyID company)