| 272 |
272 |
| 273 /* The core used to use msn_add_buddy to add all buddies before |
273 /* The core used to use msn_add_buddy to add all buddies before |
| 274 * being logged in. This no longer happens, so we manually iterate |
274 * being logged in. This no longer happens, so we manually iterate |
| 275 * over the whole buddy list to identify sync issues. |
275 * over the whole buddy list to identify sync issues. |
| 276 */ |
276 */ |
| 277 for (gnode = purple_blist_get_root(); gnode; gnode = gnode->next) { |
277 for (gnode = purple_blist_get_root(); gnode; |
| |
278 gnode = purple_blist_node_get_sibling_next(gnode)) { |
| 278 PurpleGroup *group = (PurpleGroup *)gnode; |
279 PurpleGroup *group = (PurpleGroup *)gnode; |
| 279 const char *group_name; |
280 const char *group_name; |
| 280 if(!PURPLE_BLIST_NODE_IS_GROUP(gnode)) |
281 if(!PURPLE_BLIST_NODE_IS_GROUP(gnode)) |
| 281 continue; |
282 continue; |
| 282 group_name = purple_group_get_name(group); |
283 group_name = purple_group_get_name(group); |
| 283 for(cnode = gnode->child; cnode; cnode = cnode->next) { |
284 for(cnode = purple_blist_node_get_first_child(gnode); |
| |
285 cnode; |
| |
286 cnode = purple_blist_node_get_sibling_next(cnode)) { |
| 284 if(!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) |
287 if(!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) |
| 285 continue; |
288 continue; |
| 286 for(bnode = cnode->child; bnode; bnode = bnode->next) { |
289 for(bnode = purple_blist_node_get_first_child(cnode); |
| |
290 bnode; |
| |
291 bnode = purple_blist_node_get_sibling_next(bnode)) { |
| 287 PurpleBuddy *b; |
292 PurpleBuddy *b; |
| 288 if(!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) |
293 if(!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) |
| 289 continue; |
294 continue; |
| 290 b = (PurpleBuddy *)bnode; |
295 b = (PurpleBuddy *)bnode; |
| 291 if(purple_buddy_get_account(b) == purple_connection_get_account(gc)) { |
296 if(purple_buddy_get_account(b) == purple_connection_get_account(gc)) { |