aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-08-28 00:11:16 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-04 00:27:14 +0100
commit9f97fdd31a3b9a06b6acfa1101d105e43687e824 (patch)
tree027f81c18e7733fa3554cf1dd704a0900d254725 /src/server/scripts/Commands
parent6e45c371c4098942e0085a71577a07b17725ee93 (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.cpp13
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp17
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp11
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp8
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp11
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);