From 534a2388b7c662c8796aabb1ec8cb424879799b6 Mon Sep 17 00:00:00 2001 From: Treeston Date: Fri, 28 Aug 2020 00:11:16 +0200 Subject: Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327) --- src/server/game/Conditions/DisableMgr.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/server/game/Conditions/DisableMgr.cpp') diff --git a/src/server/game/Conditions/DisableMgr.cpp b/src/server/game/Conditions/DisableMgr.cpp index 7147e3c8e10..bcf1024affe 100644 --- a/src/server/game/Conditions/DisableMgr.cpp +++ b/src/server/game/Conditions/DisableMgr.cpp @@ -25,6 +25,7 @@ #include "OutdoorPvP.h" #include "Player.h" #include "SpellMgr.h" +#include "StringConvert.h" #include "VMapManager2.h" #include "World.h" @@ -105,16 +106,24 @@ void LoadDisables() if (flags & SPELL_DISABLE_MAP) { - Tokenizer tokens(params_0, ','); - for (uint8 i = 0; i < tokens.size(); ) - data.params[0].insert(atoi(tokens[i++])); + for (std::string_view mapStr : Trinity::Tokenize(params_0, ',', true)) + { + if (Optional mapId = Trinity::StringTo(mapStr)) + data.params[0].insert(*mapId); + else + TC_LOG_ERROR("sql.sql", "Disable map '%s' for spell %u is invalid, skipped.", std::string(mapStr).c_str(), entry); + } } if (flags & SPELL_DISABLE_AREA) { - Tokenizer tokens(params_1, ','); - for (uint8 i = 0; i < tokens.size(); ) - data.params[1].insert(atoi(tokens[i++])); + for (std::string_view areaStr : Trinity::Tokenize(params_0, ',', true)) + { + if (Optional areaId = Trinity::StringTo(areaStr)) + data.params[1].insert(*areaId); + else + TC_LOG_ERROR("sql.sql", "Disable area '%s' for spell %u is invalid, skipped.", std::string(areaStr).c_str(), entry); + } } break; -- cgit v1.2.3