Make ObjectMgr::GetGuildByName and ObjectMgr::GetArenaTeamByName searches case insensitive.

Fixes issue #307.
Credits to Loread

--HG--
branch : trunk
This commit is contained in:
Machiavelli
2010-05-13 20:04:36 +02:00
parent 5bf4af15dc
commit d390ff46c2

View File

@@ -240,10 +240,15 @@ Guild * ObjectMgr::GetGuildById(uint32 GuildId) const
Guild * ObjectMgr::GetGuildByName(const std::string& guildname) const
{
std::string search = guildname;
std::transform(search.begin(), search.end(), search.begin(), toupper);
for (GuildMap::const_iterator itr = mGuildMap.begin(); itr != mGuildMap.end(); ++itr)
if (itr->second->GetName() == guildname)
{
std::string gname = itr->second->GetName();
std::transform(gname.begin(), gname.end(), gname.begin(), toupper);
if (search == gname)
return itr->second;
}
return NULL;
}
@@ -286,10 +291,15 @@ ArenaTeam* ObjectMgr::GetArenaTeamById(uint32 arenateamid) const
ArenaTeam* ObjectMgr::GetArenaTeamByName(const std::string& arenateamname) const
{
std::string search = arenateamname;
std::transform(search.begin(), search.end(), search.begin(), toupper);
for (ArenaTeamMap::const_iterator itr = mArenaTeamMap.begin(); itr != mArenaTeamMap.end(); ++itr)
if (itr->second->GetName() == arenateamname)
{
std::string teamname = itr->second->GetName();
std::transform(teamname.begin(), teamname.end(), teamname.begin(), toupper);
if (search == teamname)
return itr->second;
}
return NULL;
}