diff options
author | Miklos Vajna <vmiklos@vmiklos.hu> | 2012-04-12 23:27:54 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@vmiklos.hu> | 2012-04-12 23:27:54 +0200 |
commit | 58b65b33cf6df50b89c3a0cc43ea226c208c0d1e (patch) | |
tree | 753a12b2e9d3daa4564cda5419a7b02857f5bec9 | |
parent | 632f3d45178f0d2810df934c32828a00912900de (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.c | 7 |
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); |