From c06362a750828c369c0803fe69d455a9e178fb24 Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Thu, 5 Jan 2006 23:25:23 +0000 Subject: [PATCH] Better current_host, current_port --- gnoemoe/gm-net.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/gnoemoe/gm-net.c b/gnoemoe/gm-net.c index 624e825..2339d00 100644 --- a/gnoemoe/gm-net.c +++ b/gnoemoe/gm-net.c @@ -72,8 +72,11 @@ gboolean on_gm_net_connect_timeout(GmNet *net); static void gm_net_finalize(GObject *object) { - //GmNet *net = GM_NET(object); + GmNet *net = GM_NET(object); + g_free(net->priv->current_host); + g_free(net->priv->current_port); + G_OBJECT_CLASS(gm_net_parent_class)->finalize(object); } @@ -145,6 +148,18 @@ gm_net_init(GmNet *net) { net->priv->connect_check_id = 0; } +static void +gm_net_set_host(GmNet *net, gchar const *host) { + g_free(net->priv->current_host); + net->priv->current_host = g_strdup(host); +} + +static void +gm_net_set_port(GmNet *net, gchar const *port) { + g_free(net->priv->current_port); + net->priv->current_port = g_strdup(port); +} + void gm_net_set_state(GmNet *net, GmNetState state) { g_signal_emit(net, net_signals[STATE_CHANGING], 0, state); @@ -269,8 +284,8 @@ gm_net_connect_next(GmNet *net) { return; } - net->priv->current_host = host; - net->priv->current_port = port; + gm_net_set_host(net, host); + gm_net_set_port(net, port); gm_net_set_state(net, GM_NET_STATE_TRY_ADDRESS); net->priv->socket = socket(tmp->ai_family, tmp->ai_socktype, @@ -381,8 +396,8 @@ gm_net_connect(GmNet *net, const gchar *host, const gchar *port) { snprintf(shost, NI_MAXHOST - 1, "%s", host); snprintf(sport, NI_MAXSERV - 1, "%s", port); - net->priv->current_host = shost; - net->priv->current_port = sport; + gm_net_set_host(net, shost); + gm_net_set_port(net, sport); gm_net_set_state(net, GM_NET_STATE_CONNECTING);