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 /protocols | |
| parent | 632f3d45178f0d2810df934c32828a00912900de (diff) | |
skype: use ssl_disconnect instead of closesocket
Also call ssl_disconnect on logout.
Patch-by: meh on IRC.
Diffstat (limited to 'protocols')
| -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); | 
