(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.
--- a/console_cmds.c Wed Oct 18 10:57:32 2006 +0000
+++ b/console_cmds.c Wed Oct 18 13:17:46 2006 +0000
@@ -658,10 +658,10 @@
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 <company-id>'");
@@ -721,13 +721,11 @@
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 @@
}
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 */
--- a/network.c Wed Oct 18 10:57:32 2006 +0000
+++ b/network.c Wed Oct 18 13:17:46 2006 +0000
@@ -55,7 +55,7 @@
{
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 *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;
}
--- a/network_data.h Wed Oct 18 10:57:32 2006 +0000
+++ b/network_data.h Wed Oct 18 13:17:46 2006 +0000
@@ -198,7 +198,8 @@
#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);
--- a/network_gui.c Wed Oct 18 10:57:32 2006 +0000
+++ b/network_gui.c Wed Oct 18 13:17:46 2006 +0000
@@ -1048,9 +1048,7 @@
{
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 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 @@
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;