From 06e7eb858bffbaf85e91d41825834b38dd0837be Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Fri, 20 Aug 2010 21:04:02 +0200 Subject: Implemented basic functionality to add to and clear server list. --- servers.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 servers.c (limited to 'servers.c') diff --git a/servers.c b/servers.c new file mode 100644 index 0000000..2efd6d4 --- /dev/null +++ b/servers.c @@ -0,0 +1,28 @@ +#include "servers.h" + +static GSList *servers = NULL; + +gboolean server_add(const gchar *host, const guint16 port) { + struct server *server = g_new0(struct server, 1); + + if(server == NULL) { + g_warning("server_add: g_new0 returned NULL"); + return FALSE; + } + + server->host = g_strdup(host); + server->port = port; + + servers = g_slist_prepend(servers, server); + + return TRUE; +} + +void server_clear() { + for(GSList *node = servers; node; node = g_slist_next(node)) { + struct server *s = node->data; + g_free(s->host); + } + g_slist_free(servers); + servers = NULL; +} -- cgit v1.2.3