Mercurial > pidgin
comparison libpurple/protocols/jabber/roster.c @ 20848:05f525c8f192
Fix CID 312 (Dead code).
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Tue, 09 Oct 2007 21:27:29 +0000 |
parents | 3de6fbc79134 |
children | b77d000b738b |
comparison
equal
deleted
inserted
replaced
20847:be363a3c618f | 20848:05f525c8f192 |
---|---|
401 } | 401 } |
402 | 402 |
403 void jabber_roster_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, | 403 void jabber_roster_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, |
404 PurpleGroup *group) { | 404 PurpleGroup *group) { |
405 GSList *buddies = purple_find_buddies(gc->account, buddy->name); | 405 GSList *buddies = purple_find_buddies(gc->account, buddy->name); |
406 GSList *groups = NULL; | |
407 | 406 |
408 buddies = g_slist_remove(buddies, buddy); | 407 buddies = g_slist_remove(buddies, buddy); |
409 if(buddies != NULL) { | 408 if(buddies != NULL) { |
410 PurpleBuddy *tmpbuddy; | 409 PurpleBuddy *tmpbuddy; |
411 PurpleGroup *tmpgroup; | 410 PurpleGroup *tmpgroup; |
411 GSList *groups = NULL; | |
412 | 412 |
413 while(buddies) { | 413 while(buddies) { |
414 tmpbuddy = buddies->data; | 414 tmpbuddy = buddies->data; |
415 tmpgroup = purple_buddy_get_group(tmpbuddy); | 415 tmpgroup = purple_buddy_get_group(tmpbuddy); |
416 groups = g_slist_append(groups, tmpgroup->name); | 416 groups = g_slist_append(groups, tmpgroup->name); |
417 buddies = g_slist_remove(buddies, tmpbuddy); | 417 buddies = g_slist_remove(buddies, tmpbuddy); |
418 } | 418 } |
419 | 419 |
420 jabber_roster_update(gc->proto_data, buddy->name, groups); | 420 jabber_roster_update(gc->proto_data, buddy->name, groups); |
421 g_slist_free(groups); | |
421 } else { | 422 } else { |
422 JabberIq *iq = jabber_iq_new_query(gc->proto_data, JABBER_IQ_SET, | 423 JabberIq *iq = jabber_iq_new_query(gc->proto_data, JABBER_IQ_SET, |
423 "jabber:iq:roster"); | 424 "jabber:iq:roster"); |
424 xmlnode *query = xmlnode_get_child(iq->node, "query"); | 425 xmlnode *query = xmlnode_get_child(iq->node, "query"); |
425 xmlnode *item = xmlnode_new_child(query, "item"); | 426 xmlnode *item = xmlnode_new_child(query, "item"); |
427 xmlnode_set_attrib(item, "jid", buddy->name); | 428 xmlnode_set_attrib(item, "jid", buddy->name); |
428 xmlnode_set_attrib(item, "subscription", "remove"); | 429 xmlnode_set_attrib(item, "subscription", "remove"); |
429 | 430 |
430 jabber_iq_send(iq); | 431 jabber_iq_send(iq); |
431 } | 432 } |
432 | 433 } |
433 if(buddies) | |
434 g_slist_free(buddies); | |
435 if(groups) | |
436 g_slist_free(groups); | |
437 } |