aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@vmiklos.hu>2012-04-12 23:27:54 +0200
committerMiklos Vajna <vmiklos@vmiklos.hu>2012-04-12 23:27:54 +0200
commit58b65b33cf6df50b89c3a0cc43ea226c208c0d1e (patch)
tree753a12b2e9d3daa4564cda5419a7b02857f5bec9
parent632f3d45178f0d2810df934c32828a00912900de (diff)
skype: use ssl_disconnect instead of closesocket
Also call ssl_disconnect on logout. Patch-by: meh on IRC.
-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);