summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--console_cmds.c24
-rw-r--r--network.c4
-rw-r--r--network_data.h3
-rw-r--r--network_gui.c15
4 files changed, 18 insertions, 28 deletions
diff --git a/console_cmds.c b/console_cmds.c
index c2e984abe..00bf220cb 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 <company-id>'");
@@ -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 9d90a3a61..3100fda41 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 843d36266..d1f7826c9 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 fdfc66898..34607c7d0 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;