From e90f46ad3dcec52eba4f3b371139337e2da6688b Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Sun, 16 Jan 2011 02:12:12 +0100 Subject: added create/cleanup function for player_list --- src/main.c | 4 +--- src/net_client.c | 2 +- src/player.c | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 src/player.c diff --git a/src/main.c b/src/main.c index 2c83dbd..660e351 100644 --- a/src/main.c +++ b/src/main.c @@ -87,9 +87,7 @@ int main(int argc, char **argv) printf("\n"); // cleanup - for(int i=0; icount; 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 9aff39f..b86508c 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[INDEX_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..b5d38a2 --- /dev/null +++ b/src/player.c @@ -0,0 +1,17 @@ +#include "player.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; inames[i]); + free(pl); +} + -- cgit v1.2.3 From e291d69fa4d865da8c1d6ece46cb149d1cddb9d8 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Sun, 16 Jan 2011 02:16:04 +0100 Subject: fix some warnings --- src/player.c | 2 ++ src/player.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/player.c b/src/player.c index b5d38a2..ee21245 100644 --- a/src/player.c +++ b/src/player.c @@ -1,4 +1,6 @@ #include "player.h" +#include +#include player_list* create_playerlist(void) { 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 -- cgit v1.2.3