From ab65bb4b572d928770360a2a8775f728861cb1e8 Mon Sep 17 00:00:00 2001 From: Shocker Date: Sun, 4 Mar 2012 19:24:38 +0200 Subject: Core/Misc: Make ObjectAccessor::FindPlayerByName case-insensitive --- src/server/game/Globals/ObjectAccessor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp index dd5e6189b44..b9b5abc37df 100755 --- a/src/server/game/Globals/ObjectAccessor.cpp +++ b/src/server/game/Globals/ObjectAccessor.cpp @@ -168,7 +168,7 @@ Player* ObjectAccessor::FindPlayerByName(const char* name) TRINITY_READ_GUARD(HashMapHolder::LockType, *HashMapHolder::GetLock()); HashMapHolder::MapType const& m = GetPlayers(); for (HashMapHolder::MapType::const_iterator iter = m.begin(); iter != m.end(); ++iter) - if (iter->second->IsInWorld() && strcmp(name, iter->second->GetName()) == 0) + if (iter->second->IsInWorld() && strcmpi(name, iter->second->GetName()) == 0) return iter->second; return NULL; -- cgit v1.2.3 From 15a3ad7276125b17cdb50c4ac1d832627fbc31f4 Mon Sep 17 00:00:00 2001 From: Shocker Date: Sun, 4 Mar 2012 20:12:55 +0200 Subject: Core/Misc: Fix gcc compile --- src/server/game/Globals/ObjectAccessor.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp index b9b5abc37df..9a99a28c7aa 100755 --- a/src/server/game/Globals/ObjectAccessor.cpp +++ b/src/server/game/Globals/ObjectAccessor.cpp @@ -166,10 +166,18 @@ Unit* ObjectAccessor::FindUnit(uint64 guid) Player* ObjectAccessor::FindPlayerByName(const char* name) { TRINITY_READ_GUARD(HashMapHolder::LockType, *HashMapHolder::GetLock()); + std::string nameStr = name; + std::transform(nameStr.begin(), nameStr.end(), nameStr.begin(), ::tolower); HashMapHolder::MapType const& m = GetPlayers(); for (HashMapHolder::MapType::const_iterator iter = m.begin(); iter != m.end(); ++iter) - if (iter->second->IsInWorld() && strcmpi(name, iter->second->GetName()) == 0) + { + if (!iter->second->IsInWorld()) + continue; + std::string currentName = iter->second->GetName(); + std::transform(currentName.begin(), currentName.end(), currentName.begin(), ::tolower); + if (nameStr.compare(currentName) == 0) return iter->second; + } return NULL; } -- cgit v1.2.3