diff options
author | Jakub Sławiński | 2006-02-05 15:14:03 +0100 |
---|---|---|
committer | Joshua Judson Rosen | 2014-07-17 21:15:02 +0200 |
commit | b457fec36399c1f7de093d5e92bb4fa453b79c86 (patch) | |
tree | 2084c9a78d40213015e6f10e3e9e01bc4c0c51f1 /src/clientnames.c | |
parent | Update copyright statements. (diff) | |
download | apf-b457fec36399c1f7de093d5e92bb4fa453b79c86.tar.gz |
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
Diffstat (limited to 'src/clientnames.c')
-rw-r--r-- | src/clientnames.c | 43 |
1 files changed, 43 insertions, 0 deletions
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 <stdio.h> #include <string.h> +#include <assert.h> #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; |