From b457fec36399c1f7de093d5e92bb4fa453b79c86 Mon Sep 17 00:00:00 2001 From: Jakub Sławiński Date: Sun, 5 Feb 2006 15:14:03 +0100 Subject: v0.8 - Fixed: infinite loop after buffering message - Fixed: corrupt packets after closing connections in the stopped state - Fixed: bug in mapping user numbers between afclient and afserver - Fixed: premature close of the service connection - Fixed: invalid buffering when the connection is closing - Added: Multiple tunnels in one afclient<->afserver connection --- src/clientnames.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'src/clientnames.c') diff --git a/src/clientnames.c b/src/clientnames.c index c3f3fcf..8029abf 100644 --- a/src/clientnames.c +++ b/src/clientnames.c @@ -22,6 +22,7 @@ #include #include +#include #include "clientnames.h" char* @@ -29,6 +30,11 @@ get_clientname(ServerRealm* pointer, int client) { static char clientname[10]; + assert(pointer != NULL); + if (pointer == NULL) { + return NULL; + } + if (ConnectClient_get_sClientId(ServerRealm_get_clientsTable(pointer)[client]) == NULL) { memset(clientname, 0, 10); sprintf(clientname, "%d", ConnectClient_get_clientId(ServerRealm_get_clientsTable(pointer)[client])); @@ -44,6 +50,16 @@ get_clientid(ServerRealm* pointer, char* clientname) int i, n; char guard; + assert(pointer != NULL); + if (pointer == NULL) { + return -1; + } + + assert(clientname != NULL); + if (clientname == NULL) { + return -1; + } + for (i = 0; i < ServerRealm_get_clientsLimit(pointer); ++i) { if (ConnectClient_get_sClientId(ServerRealm_get_clientsTable(pointer)[i]) != NULL) { if (strcmp(clientname, ConnectClient_get_sClientId(ServerRealm_get_clientsTable(pointer)[i])) == 0) { @@ -67,6 +83,12 @@ int get_clientnumber(ServerRealm* pointer, int clientid) { int i; + + assert(pointer != NULL); + if (pointer == NULL) { + return -1; + } + for (i = 0; i < ServerRealm_get_clientsLimit(pointer); ++i) { if (ConnectClient_get_clientId(ServerRealm_get_clientsTable(pointer)[i]) == clientid) { return i; @@ -81,6 +103,11 @@ get_raclientname(ServerRealm* pointer, int client) { static char clientname[10]; + assert(pointer != NULL); + if (pointer == NULL) { + return NULL; + } + if (ConnectClient_get_sClientId(ServerRealm_get_raClientsTable(pointer)[client]) == NULL) { memset(clientname, 0, 10); sprintf(clientname, "%d", ConnectClient_get_clientId(ServerRealm_get_raClientsTable(pointer)[client])); @@ -96,6 +123,16 @@ get_raclientid(ServerRealm* pointer, char* clientname) int i, n; char guard; + assert(pointer != NULL); + if (pointer == NULL) { + return -1; + } + + assert(clientname != NULL); + if (clientname == NULL) { + return -1; + } + for (i = 0; i < ServerRealm_get_raClientsLimit(pointer); ++i) { if (ConnectClient_get_sClientId(ServerRealm_get_raClientsTable(pointer)[i]) != NULL) { if (strcmp(clientname, ConnectClient_get_sClientId(ServerRealm_get_raClientsTable(pointer)[i])) == 0) { @@ -120,6 +157,12 @@ int get_raclientnumber(ServerRealm* pointer, int clientid) { int i; + + assert(pointer != NULL); + if (pointer == NULL) { + return -1; + } + for (i = 0; i < ServerRealm_get_raClientsLimit(pointer); ++i) { if (ConnectClient_get_clientId(ServerRealm_get_raClientsTable(pointer)[i]) == clientid) { return i; -- cgit v1.1