Mercurial > pidgin
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; |