summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMario Kilies <MarioKilies@GMX.net>2011-01-16 02:45:20 +0100
committerMario Kilies <MarioKilies@GMX.net>2011-01-16 02:45:20 +0100
commit89c5e3062f1c7cca1e410e0cbd7eda1985db39e4 (patch)
tree269aa34358927ca82e68cf2602710e5c6a0a0310 /src
parent493b581dfa5a06134f524fe026a2fde5c4a83af5 (diff)
parente291d69fa4d865da8c1d6ece46cb149d1cddb9d8 (diff)
Merge branch 'master' of ssh://git@wg.reiner-h.de:22003/~git/oxen
Diffstat (limited to 'src')
-rw-r--r--src/main.c4
-rw-r--r--src/net_client.c2
-rw-r--r--src/player.c19
-rw-r--r--src/player.h3
4 files changed, 24 insertions, 4 deletions
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; 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