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(); |