From 68314cf576b7c28e1132d9d640af2205c0484ff1 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Wed, 18 Oct 2006 13:17:46 +0000 Subject: [PATCH] (svn r6820) -Codechange: Some more const correctness, coding style. -Codechange: Add FOR_ALL_ACTIVE_CLIENT_INFOS macro that will loop all clients skipping inactive ones. --- console_cmds.c | 24 ++++++++++-------------- network.c | 4 ++-- network_data.h | 3 ++- network_gui.c | 15 ++++----------- 4 files changed, 18 insertions(+), 28 deletions(-) diff --git a/console_cmds.c b/console_cmds.c index c2e984abe3..00bf220cb7 100644 --- a/console_cmds.c +++ b/console_cmds.c @@ -658,10 +658,10 @@ DEF_CONSOLE_CMD(ConKick) DEF_CONSOLE_CMD(ConResetCompany) { - Player *p; - NetworkClientState *cs; - NetworkClientInfo *ci; - byte index; + const Player *p; + const NetworkClientState *cs; + const NetworkClientInfo *ci; + PlayerID index; if (argc == 0) { IConsoleHelp("Remove an idle company from the game. Usage: 'reset_company '"); @@ -721,13 +721,11 @@ DEF_CONSOLE_CMD(ConNetworkClients) return true; } - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - if (ci->client_index != NETWORK_EMPTY_INDEX) { - IConsolePrintF(8, "Client #%1d name: '%s' company: %1d IP: %s", - ci->client_index, ci->client_name, - ci->client_playas + (IsValidPlayer(ci->client_playas) ? 1 : 0), - GetPlayerIP(ci)); - } + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { + IConsolePrintF(8, "Client #%1d name: '%s' company: %1d IP: %s", + ci->client_index, ci->client_name, + ci->client_playas + (IsValidPlayer(ci->client_playas) ? 1 : 0), + GetPlayerIP(ci)); } return true; @@ -748,9 +746,7 @@ DEF_CONSOLE_CMD(ConNetworkConnect) } if (argc < 2) return false; - - if (_networking) // We are in network-mode, first close it! - NetworkDisconnect(); + if (_networking) NetworkDisconnect(); // we are in network-mode, first close it! ip = argv[1]; /* Default settings: default port and new company */ diff --git a/network.c b/network.c index 9d90a3a61e..3100fda415 100644 --- a/network.c +++ b/network.c @@ -55,7 +55,7 @@ NetworkClientInfo *NetworkFindClientInfoFromIndex(uint16 client_index) { NetworkClientInfo *ci; - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { + for (ci = _network_client_info; ci != endof(_network_client_info); ci++) { if (ci->client_index == client_index) return ci; } @@ -70,7 +70,7 @@ NetworkClientInfo *NetworkFindClientInfoFromIP(const char *ip) NetworkClientInfo *ci; uint32 ip_number = inet_addr(ip); - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { + for (ci = _network_client_info; ci != endof(_network_client_info); ci++) { if (ci->client_ip == ip_number) return ci; } diff --git a/network_data.h b/network_data.h index 843d36266a..d1f7826c94 100644 --- a/network_data.h +++ b/network_data.h @@ -198,7 +198,8 @@ NetworkClientState _clients[MAX_CLIENTS]; #define SEND_COMMAND(type) NetworkPacketSend_ ## type ## _command #define RECEIVE_COMMAND(type) NetworkPacketReceive_ ## type ## _command -#define FOR_ALL_CLIENTS(cs) for (cs = _clients; cs != &_clients[MAX_CLIENTS] && cs->socket != INVALID_SOCKET; cs++) +#define FOR_ALL_CLIENTS(cs) for (cs = _clients; cs != endof(_clients) && cs->socket != INVALID_SOCKET; cs++) +#define FOR_ALL_ACTIVE_CLIENT_INFOS(ci) for (ci = _network_client_info; ci != endof(_network_client_info); ci++) if (ci->client_index != NETWORK_EMPTY_INDEX) Packet *NetworkSend_Init(PacketType type); void NetworkSend_uint8(Packet *packet, uint8 data); diff --git a/network_gui.c b/network_gui.c index fdfc668986..34607c7d05 100644 --- a/network_gui.c +++ b/network_gui.c @@ -1048,9 +1048,7 @@ static const NetworkClientInfo *NetworkFindClientInfo(byte client_no) { const NetworkClientInfo *ci; - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - // Skip non-active items - if (ci->client_index == NETWORK_EMPTY_INDEX) continue; + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { if (client_no == 0) return ci; client_no--; } @@ -1123,12 +1121,10 @@ static void HandleClientListPopupClick(byte index, byte clientno) { static bool CheckClientListHeight(Window *w) { int num = 0; - NetworkClientInfo *ci; + const NetworkClientInfo *ci; // Should be replaced with a loop through all clients - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - // Skip non-active items - if (ci->client_index == NETWORK_EMPTY_INDEX) continue; + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { num++; } @@ -1307,10 +1303,7 @@ static void ClientListWndProc(Window *w, WindowEvent *e) y = CLNWND_OFFSET; - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - // Skip non-active items - if (ci->client_index == NETWORK_EMPTY_INDEX) continue; - + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { if (_selected_clientlist_item == i++) { // Selected item, highlight it GfxFillRect(1, y, 248, y + CLNWND_ROWSIZE - 1, 0); colour = 0xC;