diff options
| author | unknown <vmiklos@frugalware.org> | 2011-06-16 23:59:06 +0200 | 
|---|---|---|
| committer | unknown <vmiklos@frugalware.org> | 2011-06-16 23:59:06 +0200 | 
| commit | bf8ee3981b4de9f3dccf6dd374147c5a6d92a167 (patch) | |
| tree | b8d103dba120a4ccc12559b3365a4b506f15aeae /protocols | |
| parent | 370899f9368cdcb0bb43fd1510b0ea44c08027ec (diff) | |
| parent | 05d964c32262a8b0ce3f8a5d2087d230a461df86 (diff) | |
Merge IPv6 and groupchat fixes from hrubi.
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/skype/skype.c | 15 | ||||
| -rw-r--r-- | protocols/skype/skyped.py | 7 | 
2 files changed, 14 insertions, 8 deletions
| diff --git a/protocols/skype/skype.c b/protocols/skype/skype.c index 80279c54..6a3e6393 100644 --- a/protocols/skype/skype.c +++ b/protocols/skype/skype.c @@ -911,8 +911,11 @@ static void skype_parse_chat(struct im_connection *ic, char *line)  	if (gc)  		imcb_chat_free(gc);  	if (!strcmp(info, "STATUS MULTI_SUBSCRIBED")) { -		gc = imcb_chat_new(ic, id); -		imcb_chat_name_hint(gc, id); +		gc = bee_chat_by_title(ic->bee, ic, id); +		if (!gc) { +			gc = imcb_chat_new(ic, id); +			imcb_chat_name_hint(gc, id); +		}  		skype_printf(ic, "GET CHAT %s ADDER\n", id);  		skype_printf(ic, "GET CHAT %s TOPIC\n", id);  	} else if (!strcmp(info, "STATUS DIALOG") && sd->groupchat_with) { @@ -1197,6 +1200,9 @@ static void skype_logout(struct im_connection *ic)  	skype_printf(ic, "SET USERSTATUS OFFLINE\n"); +	while( ic->groupchats ) +		imcb_chat_free(ic->groupchats->data); +  	for (i = 0; i < g_list_length(sd->groups); i++) {  		struct skype_group *sg = (struct skype_group *)g_list_nth_data(sd->groups, i);  		skype_group_free(sg, FALSE); @@ -1391,10 +1397,7 @@ void skype_chat_invite(struct groupchat *gc, char *who, char *message)  	struct im_connection *ic = gc->ic;  	char *ptr, *nick; -	/* Unused parameter */ -	who = who; - -	nick = g_strdup(message); +	nick = g_strdup(who);  	ptr = strchr(nick, '@');  	if (ptr)  		*ptr = '\0'; diff --git a/protocols/skype/skyped.py b/protocols/skype/skyped.py index 023c1f81..c9bfc2ce 100644 --- a/protocols/skype/skyped.py +++ b/protocols/skype/skyped.py @@ -179,7 +179,10 @@ def bitlbee_idle_handler(skype):  def server(host, port, skype = None):  	global options -	sock = socket.socket() +	if ":" in host: +		sock = socket.socket(socket.AF_INET6) +	else: +		sock = socket.socket()  	sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  	sock.bind((host, port))  	sock.listen(1) @@ -359,7 +362,7 @@ Options:  	-c      --config        path to configuration file (default: %s)  	-d	--debug		enable debug messages  	-h	--help		this help -	-H	--host		set the tcp host (default: %s) +	-H	--host		set the tcp host, supports IPv4 and IPv6 (default: %s)  	-l      --log           set the log file in background mode (default: none)  	-n	--nofork	don't run as daemon in the background  	-p	--port		set the tcp port (default: %s) | 
