From 6d90affce01ae2b882b2679bf5371da4a49dbc99 Mon Sep 17 00:00:00 2001 From: rubidium Date: Fri, 30 May 2008 20:08:32 +0000 Subject: (svn r13344) -Codechange: remove some code duplication. --- src/network/network.cpp | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) (limited to 'src/network') diff --git a/src/network/network.cpp b/src/network/network.cpp index b0ab7a612..713932927 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -877,12 +877,22 @@ static void NetworkClose() } if (_network_server) { - // We are a server, also close the listensocket + /* We are a server, also close the listensocket */ closesocket(_listensocket); _listensocket = INVALID_SOCKET; DEBUG(net, 1, "Closed listener"); - NetworkUDPCloseAll(); } + NetworkUDPCloseAll(); + + /* Free all queued commands */ + while (_local_command_queue != NULL) { + CommandPacket *p = _local_command_queue; + _local_command_queue = _local_command_queue->next; + free(p); + } + + _networking = false; + _network_server = false; } // Inits the network (cleans sockets and stuff) @@ -988,7 +998,6 @@ bool NetworkClientConnectGame(const char *host, uint16 port) _settings_client.network.last_port = port; NetworkDisconnect(); - NetworkUDPCloseAll(); NetworkInitialize(); // Try to connect @@ -1114,16 +1123,6 @@ void NetworkReboot() } NetworkClose(); - - // Free all queued commands - while (_local_command_queue != NULL) { - CommandPacket *p = _local_command_queue; - _local_command_queue = _local_command_queue->next; - free(p); - } - - _networking = false; - _network_server = false; } // We want to disconnect from the host/clients @@ -1142,16 +1141,6 @@ void NetworkDisconnect() DeleteWindowById(WC_NETWORK_STATUS_WINDOW, 0); NetworkClose(); - - // Free all queued commands - while (_local_command_queue != NULL) { - CommandPacket *p = _local_command_queue; - _local_command_queue = _local_command_queue->next; - free(p); - } - - _networking = false; - _network_server = false; } // Receives something from the network -- cgit v1.2.3-70-g09d2