diff options
| -rw-r--r-- | servers.c | 14 | ||||
| -rw-r--r-- | servers.h | 5 | 
2 files changed, 13 insertions, 6 deletions
| @@ -5,8 +5,8 @@  GSList *servers = NULL; -gboolean server_add(const gchar *host, const guint16 http_port, -		const guint16 command_port) { +gboolean server_add(const gchar *name, const gchar *host, +		const guint16 http_port, const guint16 command_port) {  	struct server *server = g_new0(struct server, 1);  	if(server == NULL) { @@ -14,6 +14,7 @@ gboolean server_add(const gchar *host, const guint16 http_port,  		return FALSE;  	} +	server->name = g_strdup(name);  	server->host = g_strdup(host);  	server->http_port = http_port;  	server->command_port = command_port; @@ -40,12 +41,17 @@ void servers_init() {  	gchar **s = conf_get_string_list("audist", "servers", &length);  	for(int i = 0; i < length; i++) {  		gchar *section = g_strdup_printf("server/%s", s[i]); +		gchar *host = conf_get_string(section, "host");  		guint16 http_port = conf_get_int(section, "http_port");  		guint16 command_port = conf_get_int(section, "command_port");  		g_free(section); -		server_add(s[i], http_port, command_port); -		g_debug("  server %d: %s (%d, %d)", i, s[i], http_port, command_port); +		server_add(s[i], host, http_port, command_port); +		g_free(host); +	} + +	if(s != NULL) { +		g_strfreev(s);  	}  } @@ -4,6 +4,7 @@  #include <glib.h>  struct server { +	gchar *name;  	gchar *host;  	guint16 http_port;  	guint16 command_port; @@ -11,8 +12,8 @@ struct server {  extern GSList *servers; -gboolean server_add(const gchar *host, const guint16 http_port, -		const guint16 command_port); +gboolean server_add(const gchar *name, const gchar *host, +		const guint16 http_port, const guint16 command_port);  gboolean server_remove(struct server *server);  void servers_init();  void servers_free(); | 
