Mercurial > pidgin
diff libpurple/protocols/bonjour/jabber.c @ 21527:5b9da9db7e81
Various bugfixes including using purple_account_remove_buddy() in addition to purple_blist_remove_buddy() to make sure that the buddy gets cleaned up fully when logging out or we go offline.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 15 Nov 2007 17:27:16 +0000 |
parents | dc703f13449a |
children | 9736ee1ca29e |
line wrap: on
line diff
--- a/libpurple/protocols/bonjour/jabber.c Thu Nov 15 17:25:34 2007 +0000 +++ b/libpurple/protocols/bonjour/jabber.c Thu Nov 15 17:27:16 2007 +0000 @@ -327,13 +327,15 @@ } void bonjour_jabber_process_packet(PurpleBuddy *pb, xmlnode *packet) { + + g_return_if_fail(packet != NULL); + if (!strcmp(packet->name, "message")) _jabber_parse_and_write_message_to_ui(packet, pb); else if(!strcmp(packet->name, "iq")) xep_iq_parse(packet, NULL, pb); else - purple_debug_warning("bonjour", "Unknown packet: %s\n", - packet->name); + purple_debug_warning("bonjour", "Unknown packet: %s\n", packet->name ? packet->name : "(null)"); } @@ -351,8 +353,9 @@ /* There have been an error reading from the socket */ if (errno != EAGAIN) { BonjourBuddy *bb = pb->proto_data; + const char *err = g_strerror(errno); - purple_debug_warning("bonjour", "receive error: %s\n", g_strerror(errno)); + purple_debug_warning("bonjour", "receive error: %s\n", err ? err : "(null)"); bonjour_jabber_close_conversation(bb->conversation); bb->conversation = NULL; @@ -362,7 +365,7 @@ } return; } else if (len == 0) { /* The other end has closed the socket */ - purple_debug_warning("bonjour", "Connection closed (without stream end) by %s.\n", pb->name); + purple_debug_warning("bonjour", "Connection closed (without stream end) by %s.\n", pb->name ? pb->name : "(null)"); bonjour_jabber_stream_ended(pb); return; } else {