diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-08-28 00:11:16 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-04 00:27:14 +0100 |
commit | 9f97fdd31a3b9a06b6acfa1101d105e43687e824 (patch) | |
tree | 027f81c18e7733fa3554cf1dd704a0900d254725 /src/server/scripts/Commands | |
parent | 6e45c371c4098942e0085a71577a07b17725ee93 (diff) |
Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327)
(cherry picked from commit 534a2388b7c662c8796aabb1ec8cb424879799b6)
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r-- | src/server/scripts/Commands/cs_battlenet_account.cpp | 13 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 17 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_modify.cpp | 11 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_npc.cpp | 8 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_reload.cpp | 11 |
5 files changed, 23 insertions, 37 deletions
diff --git a/src/server/scripts/Commands/cs_battlenet_account.cpp b/src/server/scripts/Commands/cs_battlenet_account.cpp index c4f0dff6c01..03ff81c0a20 100644 --- a/src/server/scripts/Commands/cs_battlenet_account.cpp +++ b/src/server/scripts/Commands/cs_battlenet_account.cpp @@ -325,19 +325,8 @@ public: return true; } - static bool HandleAccountLinkCommand(ChatHandler* handler, char const* args) + static bool HandleAccountLinkCommand(ChatHandler* handler, std::string const& bnetAccountName, std::string const& gameAccountName) { - Tokenizer tokens(args, ' ', 2); - if (tokens.size() != 2) - { - handler->SendSysMessage(LANG_CMD_SYNTAX); - handler->SetSentErrorMessage(true); - return false; - } - - std::string bnetAccountName = tokens[0]; - std::string gameAccountName = tokens[1]; - switch (Battlenet::AccountMgr::LinkWithGameAccount(bnetAccountName, gameAccountName)) { case AccountOpResult::AOR_OK: diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index b6dceef1101..99b507bb61c 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1250,12 +1250,9 @@ public: // semicolon separated bonuslist ids (parse them after all arguments are extracted by strtok!) if (bonuses) - { - Tokenizer tokens(bonuses, ';'); - for (char const* token : tokens) - if (int32 bonusListId = atoi(token)) - bonusListIDs.push_back(bonusListId); - } + for (std::string_view token : Trinity::Tokenize(bonuses, ';', false)) + if (Optional<int32> bonusListId = Trinity::StringTo<int32>(token)) + bonusListIDs.push_back(*bonusListId); ItemContext itemContext = ItemContext::NONE; if (context) @@ -1364,11 +1361,9 @@ public: // semicolon separated bonuslist ids (parse them after all arguments are extracted by strtok!) if (bonuses) - { - Tokenizer tokens(bonuses, ';'); - for (char const* token : tokens) - bonusListIDs.push_back(atoul(token)); - } + for (std::string_view token : Trinity::Tokenize(bonuses, ';', false)) + if (Optional<int32> bonusListId = Trinity::StringTo<int32>(token)) + bonusListIDs.push_back(*bonusListId); ItemContext itemContext = ItemContext::NONE; if (context) diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index 84fbdd8cdfe..972c3761168 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -566,11 +566,16 @@ public: if (handler->HasLowerSecurity(target, ObjectGuid::Empty)) return false; - int64 moneyToAdd = 0; + Optional<int64> moneyToAddO = 0; if (strchr(args, 'g') || strchr(args, 's') || strchr(args, 'c')) - moneyToAdd = MoneyStringToMoney(std::string(args)); + moneyToAddO = MoneyStringToMoney(std::string(args)); else - moneyToAdd = atoll(args); + moneyToAddO = Trinity::StringTo<int64>(args); + + if (!moneyToAddO) + return false; + + int64 moneyToAdd = *moneyToAddO; uint64 targetMoney = target->GetMoney(); diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index d30d77f4f39..8107ef086d6 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -304,11 +304,9 @@ public: vItem.Type = type; if (fbonuslist) - { - Tokenizer bonusListIDsTok(fbonuslist, ';'); - for (char const* token : bonusListIDsTok) - vItem.BonusListIDs.push_back(int32(atol(token))); - } + for (std::string_view token : Trinity::Tokenize(fbonuslist, ';', false)) + if (Optional<int32> bonusListID = Trinity::StringTo<int32>(token)) + vItem.BonusListIDs.push_back(*bonusListID); if (!sObjectMgr->IsVendorItemValid(vendor_entry, vItem, handler->GetSession()->GetPlayer())) { diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index 17992ddddba..c25403bd88f 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -46,6 +46,7 @@ EndScriptData */ #include "SkillExtraItems.h" #include "SmartAI.h" #include "SpellMgr.h" +#include "StringConvert.h" #include "SupportMgr.h" #include "WaypointManager.h" #include "World.h" @@ -205,7 +206,7 @@ public: HandleReloadGameTeleCommand(handler, ""); HandleReloadCreatureMovementOverrideCommand(handler, ""); - HandleReloadCreatureSummonGroupsCommand(handler, ""); + HandleReloadCreatureSummonGroupsCommand(handler); HandleReloadVehicleAccessoryCommand(handler, ""); HandleReloadVehicleTemplateAccessoryCommand(handler, ""); @@ -420,7 +421,7 @@ public: return true; } - static bool HandleReloadCreatureSummonGroupsCommand(ChatHandler* handler, char const* /*args*/) + static bool HandleReloadCreatureSummonGroupsCommand(ChatHandler* handler) { TC_LOG_INFO("misc", "Reloading creature summon groups..."); sObjectMgr->LoadTempSummons(); @@ -433,11 +434,9 @@ public: if (!*args) return false; - Tokenizer entries(std::string(args), ' '); - - for (Tokenizer::const_iterator itr = entries.begin(); itr != entries.end(); ++itr) + for (std::string_view entryStr : Trinity::Tokenize(args, ' ', false)) { - uint32 entry = atoul(*itr); + uint32 entry = Trinity::StringTo<uint32>(entryStr).value_or(0); WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_CREATURE_TEMPLATE); stmt->setUInt32(0, entry); |