Remove goto from Environment::removePlayer

This commit is contained in:
Selat 2014-03-05 18:14:40 +03:00 committed by ShadowNinja
parent c9b64206f9
commit 2bc2ce3bd1
1 changed files with 8 additions and 10 deletions

View File

@ -85,19 +85,17 @@ void Environment::addPlayer(Player *player)
void Environment::removePlayer(u16 peer_id)
{
DSTACK(__FUNCTION_NAME);
re_search:
for(std::list<Player*>::iterator i = m_players.begin();
i != m_players.end(); ++i)
i != m_players.end();)
{
Player *player = *i;
if(player->peer_id != peer_id)
continue;
delete player;
m_players.erase(i);
// See if there is an another one
// (shouldn't be, but just to be sure)
goto re_search;
if(player->peer_id == peer_id) {
delete player;
i = m_players.erase(i);
} else {
++i;
}
}
}