diff options
| author | MellianStudios <linden.amari@gmail.com> | 2024-01-21 00:04:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-21 00:04:46 +0100 |
| commit | a89fa73b72c2cb1ffd771b752f7a4b8b52f6fbc8 (patch) | |
| tree | 29b89fcbec706bdde0923ed776b31501fc92dcbb /src/server/scripts/Commands | |
| parent | 7f7f18e48906959460171e05733baa736a730048 (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.cpp | 18 |
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; } |
