summaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
authorMellianStudios <linden.amari@gmail.com>2024-01-21 00:04:46 +0100
committerGitHub <noreply@github.com>2024-01-21 00:04:46 +0100
commita89fa73b72c2cb1ffd771b752f7a4b8b52f6fbc8 (patch)
tree29b89fcbec706bdde0923ed776b31501fc92dcbb /src/server/scripts/Commands
parent7f7f18e48906959460171e05733baa736a730048 (diff)
fix(Scripts/Command): prevent crash on set motd (#18203)
* prevent crash on set motd * updated version * another version * Update cs_server.cpp --------- Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r--src/server/scripts/Commands/cs_server.cpp18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp
index 6dc033cfa0..25adccc208 100644
--- a/src/server/scripts/Commands/cs_server.cpp
+++ b/src/server/scripts/Commands/cs_server.cpp
@@ -514,40 +514,32 @@ public:
}
// Define the 'Message of the day' for the realm
- static bool HandleServerSetMotdCommand(ChatHandler* handler, std::string realmId, Tail motd)
+ static bool HandleServerSetMotdCommand(ChatHandler* handler, Optional<int32> realmId, Tail motd)
{
std::wstring wMotd = std::wstring();
std::string strMotd = std::string();
- if (realmId.empty())
- {
- return false;
- }
+ if (!realmId)
+ realmId = static_cast<int32>(realm.Id.Realm);
if (motd.empty())
- {
return false;
- }
if (!Utf8toWStr(motd, wMotd))
- {
return false;
- }
if (!WStrToUtf8(wMotd, strMotd))
- {
return false;
- }
LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction();
LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_REP_MOTD);
- stmt->SetData(0, Acore::StringTo<int32>(realmId).value());
+ stmt->SetData(0, realmId.value());
stmt->SetData(1, strMotd);
trans->Append(stmt);
LoginDatabase.CommitTransaction(trans);
sMotdMgr->LoadMotd();
- handler->PSendSysMessage(LANG_MOTD_NEW, Acore::StringTo<int32>(realmId).value(), strMotd);
+ handler->PSendSysMessage(LANG_MOTD_NEW, realmId.value(), strMotd);
return true;
}