# HG changeset patch # User Darkvater # Date 2006-10-15 23:35:26 # Node ID dff82c94b2ec9668fa00d98031e2031913d5a964 # Parent 8b1cc3b23ba50f374e5e66fee43e6cdccd41dd4a (svn r6784) -Codechange: Change invalid PlayerID type into ClientID which it is in CmdPlayerCtrl diff --git a/players.c b/players.c --- a/players.c +++ b/players.c @@ -821,9 +821,11 @@ int32 CmdPlayerCtrl(TileIndex tile, uint switch (p1) { case 0: { /* Create a new player */ Player *p; - PlayerID pid = p2; + uint16 cid = p2; // ClientID - if (!(flags & DC_EXEC) || !IsValidPlayer(pid)) return 0; + /* ClientID would be valid up to MAX_CLIENT_INFO, but as it has to be a + * new player, its valid range is restricted to that of players */ + if (!(flags & DC_EXEC) || !IsValidPlayer((PlayerID)cid)) return 0; p = DoStartupNewPlayer(false); @@ -851,7 +853,7 @@ int32 CmdPlayerCtrl(TileIndex tile, uint /* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at * server-side in network_server.c:838, function * DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) */ - NetworkClientInfo *ci = &_network_client_info[pid]; + NetworkClientInfo *ci = &_network_client_info[cid]; ci->client_playas = p->index + 1; NetworkUpdateClientInfo(ci->client_index); @@ -881,7 +883,7 @@ int32 CmdPlayerCtrl(TileIndex tile, uint /* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at * server-side in network_server.c:838, function * DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) */ - NetworkClientInfo *ci = &_network_client_info[pid]; + NetworkClientInfo *ci = &_network_client_info[cid]; ci->client_playas = PLAYER_SPECTATOR; NetworkUpdateClientInfo(ci->client_index); #endif /* ENABLE_NETWORK */