diff options
| author | Mario Kilies <MarioKilies@GMX.net> | 2011-01-16 02:45:20 +0100 |
|---|---|---|
| committer | Mario Kilies <MarioKilies@GMX.net> | 2011-01-16 02:45:20 +0100 |
| commit | 89c5e3062f1c7cca1e410e0cbd7eda1985db39e4 (patch) | |
| tree | 269aa34358927ca82e68cf2602710e5c6a0a0310 /src | |
| parent | 493b581dfa5a06134f524fe026a2fde5c4a83af5 (diff) | |
| parent | e291d69fa4d865da8c1d6ece46cb149d1cddb9d8 (diff) | |
Merge branch 'master' of ssh://git@wg.reiner-h.de:22003/~git/oxen
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 4 | ||||
| -rw-r--r-- | src/net_client.c | 2 | ||||
| -rw-r--r-- | src/player.c | 19 | ||||
| -rw-r--r-- | src/player.h | 3 |
4 files changed, 24 insertions, 4 deletions
@@ -87,9 +87,7 @@ int main(int argc, char **argv) printf("\n"); // cleanup - for(int i=0; i<players->count; i++) - free(players->names[i]); - free(players); + cleanup_playerlist(players); free(testhand); close(sock); } diff --git a/src/net_client.c b/src/net_client.c index 5e23e7a..031e6af 100644 --- a/src/net_client.c +++ b/src/net_client.c @@ -93,7 +93,7 @@ static player_list* client_recv_player_list(int sock, uint8_t data_len) assert(buf[NET_MSG_OFFSET_TYPE] == msg_type_start_game); - players = malloc(sizeof(player_list)); + players = create_playerlist(); if(players == NULL) { printf("client_recv_player_list: Out of memory\n"); diff --git a/src/player.c b/src/player.c new file mode 100644 index 0000000..ee21245 --- /dev/null +++ b/src/player.c @@ -0,0 +1,19 @@ +#include "player.h" +#include <stdlib.h> +#include <string.h> + +player_list* create_playerlist(void) +{ + player_list* pl = malloc(sizeof(player_list)); + memset(pl, 0, sizeof(player_list)); + + return pl; +} + +void cleanup_playerlist(player_list* pl) +{ + for(int i=0; i<MAX_PLAYERS; i++) + free(pl->names[i]); + free(pl); +} + diff --git a/src/player.h b/src/player.h index 1438aa0..e1311cd 100644 --- a/src/player.h +++ b/src/player.h @@ -12,4 +12,7 @@ typedef struct char* names[MAX_PLAYERS]; } player_list; +player_list* create_playerlist(void); +void cleanup_playerlist(player_list* pl); + #endif // OXEN_PLAYER_H |
