aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2012-04-12 22:37:12 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2012-04-12 22:37:12 +0100
commit6d23c684bbe3d4b919dc75fe39ee8bf0f5fbb916 (patch)
tree753a12b2e9d3daa4564cda5419a7b02857f5bec9
parent632f3d45178f0d2810df934c32828a00912900de (diff)
parent58b65b33cf6df50b89c3a0cc43ea226c208c0d1e (diff)
Merging ssl_disconnect() fix from meh/vmiklos.
-rw-r--r--protocols/skype/skype.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/protocols/skype/skype.c b/protocols/skype/skype.c
index 248c9da0..6515a801 100644
--- a/protocols/skype/skype.c
+++ b/protocols/skype/skype.c
@@ -1143,8 +1143,9 @@ static gboolean skype_read_callback(gpointer data, gint fd,
}
g_strfreev(lines);
} else if (st == 0 || (st < 0 && !sockerr_again())) {
- closesocket(sd->fd);
+ ssl_disconnect(sd->ssl);
sd->fd = -1;
+ sd->ssl = NULL;
imcb_error(ic, "Error while reading from server");
imc_logout(ic, TRUE);
@@ -1233,6 +1234,10 @@ static void skype_logout(struct im_connection *ic)
struct skype_group *sg = (struct skype_group *)g_list_nth_data(sd->groups, i);
skype_group_free(sg, FALSE);
}
+
+ if (sd->ssl)
+ ssl_disconnect(sd->ssl);
+
g_free(sd->username);
g_free(sd->handle);
g_free(sd);