comparison src/protocols/msn/msn.c @ 6858:885c6528843b

[gaim-migrate @ 7403] Moving MSN buddies between groups should no longer reset their server-side friendly name. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Tue, 16 Sep 2003 03:56:54 +0000
parents bd433a45a463
children 17514a2f976a
comparison
equal deleted inserted replaced
6857:59f6d0b1bdbe 6858:885c6528843b
404 struct proto_buddy_menu *pbm; 404 struct proto_buddy_menu *pbm;
405 GaimBuddy *b; 405 GaimBuddy *b;
406 GList *m = NULL; 406 GList *m = NULL;
407 407
408 b = gaim_find_buddy(gc->account, who); 408 b = gaim_find_buddy(gc->account, who);
409
410 g_return_val_if_fail(b != NULL, NULL);
411
409 user = b->proto_data; 412 user = b->proto_data;
410 413
411 if (user != NULL) { 414 if (user != NULL) {
412 if (user->mobile) { 415 if (user->mobile) {
413 pbm = g_new0(struct proto_buddy_menu, 1); 416 pbm = g_new0(struct proto_buddy_menu, 1);
1038 const char *old_group_name, const char *new_group_name) 1041 const char *old_group_name, const char *new_group_name)
1039 { 1042 {
1040 MsnSession *session = gc->proto_data; 1043 MsnSession *session = gc->proto_data;
1041 MsnGroup *old_group, *new_group; 1044 MsnGroup *old_group, *new_group;
1042 MsnUser *user; 1045 MsnUser *user;
1046 const char *friendly;
1043 char outparams[MSN_BUF_LEN]; 1047 char outparams[MSN_BUF_LEN];
1044 1048
1045 old_group = msn_groups_find_with_name(session->groups, old_group_name); 1049 old_group = msn_groups_find_with_name(session->groups, old_group_name);
1046 new_group = msn_groups_find_with_name(session->groups, new_group_name); 1050 new_group = msn_groups_find_with_name(session->groups, new_group_name);
1047 1051
1048 user = msn_users_find_with_passport(session->users, who); 1052 user = msn_users_find_with_passport(session->users, who);
1053
1054 if ((friendly = msn_user_get_name(user)) == NULL)
1055 friendly = msn_user_get_passport(user);
1049 1056
1050 if (old_group != NULL) 1057 if (old_group != NULL)
1051 msn_user_remove_group_id(user, msn_group_get_id(old_group)); 1058 msn_user_remove_group_id(user, msn_group_get_id(old_group));
1052 1059
1053 if (new_group == NULL) { 1060 if (new_group == NULL) {
1070 1077
1071 msn_user_ref(session->moving_user); 1078 msn_user_ref(session->moving_user);
1072 } 1079 }
1073 else { 1080 else {
1074 g_snprintf(outparams, sizeof(outparams), "FL %s %s %d", 1081 g_snprintf(outparams, sizeof(outparams), "FL %s %s %d",
1075 who, who, msn_group_get_id(new_group)); 1082 who, friendly, msn_group_get_id(new_group));
1076 1083
1077 if (!msn_servconn_send_command(session->notification_conn, 1084 if (!msn_servconn_send_command(session->notification_conn,
1078 "ADD", outparams)) { 1085 "ADD", outparams)) {
1079 gaim_connection_error(gc, _("Write error")); 1086 gaim_connection_error(gc, _("Write error"));
1080 return; 1087 return;