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

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