static void lsg_cmd (MsnCmdProc *cmdproc, MsnCommand *cmd) { MsnSession *session = cmdproc->session; char *name; const gchar *group_guid; name = pn_url_decode (cmd->params[0]); group_guid = cmd->params[1]; if (strcmp(name, MSN_NULL_GROUP_NAME) == 0) { pn_error("Invalid group name, ignoring"); goto leave; } pn_group_new (session->contactlist, name, group_guid); if (!purple_find_group (name)) { PurpleGroup *g = purple_group_new (name); purple_blist_add_group (g, NULL); } /* Group of ungroupped buddies */ if (!group_guid) { if (session->sync->total_users == 0) { cmdproc->cbs_table = session->sync->old_cbs_table; msn_session_finish_login (session); msn_sync_destroy (session->sync); session->sync = NULL; } } leave: g_free (name); }
static void lsg_cmd (MsnCmdProc *cmdproc, MsnCommand *cmd) { MsnSession *session = cmdproc->session; char *name; const gchar *group_guid; name = pn_url_decode (cmd->params[0]); group_guid = cmd->params[1]; pn_group_new (session->contactlist, name, group_guid); if (!purple_find_group (name)) { PurpleGroup *g = purple_group_new (name); purple_blist_add_group (g, NULL); } g_free (name); /* Group of ungroupped buddies */ if (!group_guid) { if (session->sync->total_users == 0) { cmdproc->cbs_table = session->sync->old_cbs_table; msn_session_finish_login (session); msn_sync_destroy (session->sync); session->sync = NULL; } return; } }