Index: common/nation.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/common/nation.c,v retrieving revision 1.29 diff -u -r1.29 nation.c --- common/nation.c 11 Dec 2002 10:39:42 -0000 1.29 +++ common/nation.c 18 Dec 2002 15:35:19 -0000 @@ -333,11 +333,11 @@ { bool others = FALSE; - assert(pplayer != NULL && pplayer->team < MAX_NUM_TEAMS); - if (pplayer->team == TEAM_NONE) { return; } + + assert(pplayer->team < MAX_NUM_TEAMS && pplayer->team >= 0); /* anyone else using my team? */ players_iterate(aplayer) { Index: server/gamelog.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/gamelog.c,v retrieving revision 1.23 diff -u -r1.23 gamelog.c --- server/gamelog.c 14 Nov 2002 09:15:04 -0000 1.23 +++ server/gamelog.c 18 Dec 2002 15:35:19 -0000 @@ -157,6 +157,10 @@ count++; } players_iterate_end; + if (team_members == 0) { + continue; + } + /* average them */ team_score = floor(team_score / team_members); team_size = floor(team_size / team_members); Index: server/stdinhand.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/stdinhand.c,v retrieving revision 1.268 diff -u -r1.268 stdinhand.c --- server/stdinhand.c 17 Dec 2002 15:14:47 -0000 1.268 +++ server/stdinhand.c 18 Dec 2002 15:35:20 -0000 @@ -1819,6 +1819,7 @@ } sz_strlcpy(name, pplayer->name); + team_remove_player(pplayer); server_remove_player(pplayer); if (!caller || caller->used) { /* may have removed self */ cmd_reply(CMD_REMOVE, caller, C_OK,