| 58 g_return_if_fail(user != NULL); |
58 g_return_if_fail(user != NULL); |
| 59 |
59 |
| 60 if (user->clientcaps != NULL) |
60 if (user->clientcaps != NULL) |
| 61 g_hash_table_destroy(user->clientcaps); |
61 g_hash_table_destroy(user->clientcaps); |
| 62 |
62 |
| 63 if (user->group_ids != NULL) |
63 if (user->group_ids != NULL){ |
| |
64 GList *l; |
| |
65 for (l = user->group_ids; l != NULL; l = l->next){ |
| |
66 g_free(l->data); |
| |
67 } |
| 64 g_list_free(user->group_ids); |
68 g_list_free(user->group_ids); |
| |
69 } |
| 65 |
70 |
| 66 if (user->msnobj != NULL) |
71 if (user->msnobj != NULL) |
| 67 msn_object_destroy(user->msnobj); |
72 msn_object_destroy(user->msnobj); |
| 68 |
73 |
| 69 g_free(user->passport); |
74 g_free(user->passport); |
| 263 MsnUserList *userlist; |
268 MsnUserList *userlist; |
| 264 GaimAccount *account; |
269 GaimAccount *account; |
| 265 GaimBuddy *b; |
270 GaimBuddy *b; |
| 266 GaimGroup *g; |
271 GaimGroup *g; |
| 267 const char *passport; |
272 const char *passport; |
| |
273 const char *group_id; |
| 268 const char *group_name; |
274 const char *group_name; |
| 269 |
275 |
| 270 g_return_if_fail(user != NULL); |
276 g_return_if_fail(user != NULL); |
| 271 g_return_if_fail(id != NULL); |
277 g_return_if_fail(id != NULL); |
| 272 |
278 |
| 273 user->group_ids = g_list_append(user->group_ids,id); |
279 group_id = g_strdup(id); |
| |
280 user->group_ids = g_list_append(user->group_ids,group_id); |
| 274 |
281 |
| 275 userlist = user->userlist; |
282 userlist = user->userlist; |
| 276 account = userlist->session->account; |
283 account = userlist->session->account; |
| 277 passport = msn_user_get_passport(user); |
284 passport = msn_user_get_passport(user); |
| 278 |
285 |
| 279 group_name = msn_userlist_find_group_name(userlist, id); |
286 group_name = msn_userlist_find_group_name(userlist, group_id); |
| 280 |
287 |
| 281 gaim_debug_info("User","group id:%s,name:%s,user:%s\n",id,group_name,passport); |
288 gaim_debug_info("User","group id:%s,name:%s,user:%s\n",group_id,group_name,passport); |
| 282 |
289 |
| 283 g = gaim_find_group(group_name); |
290 g = gaim_find_group(group_name); |
| 284 |
291 |
| 285 if ((id == NULL) && (g == NULL)){ |
292 if ((id == NULL) && (g == NULL)){ |
| 286 g = gaim_group_new(group_name); |
293 g = gaim_group_new(group_name); |
| 313 { |
320 { |
| 314 g_return_if_fail(user != NULL); |
321 g_return_if_fail(user != NULL); |
| 315 g_return_if_fail(id != NULL); |
322 g_return_if_fail(id != NULL); |
| 316 |
323 |
| 317 user->group_ids = g_list_remove(user->group_ids, id); |
324 user->group_ids = g_list_remove(user->group_ids, id); |
| |
325 g_free(id); |
| 318 } |
326 } |
| 319 |
327 |
| 320 void |
328 void |
| 321 msn_user_set_home_phone(MsnUser *user, const char *number) |
329 msn_user_set_home_phone(MsnUser *user, const char *number) |
| 322 { |
330 { |