| 640 |
640 |
| 641 static void |
641 static void |
| 642 msn_add_buddy(GaimConnection *gc, const char *name, GaimGroup *group) |
642 msn_add_buddy(GaimConnection *gc, const char *name, GaimGroup *group) |
| 643 { |
643 { |
| 644 MsnSession *session = gc->proto_data; |
644 MsnSession *session = gc->proto_data; |
| |
645 MsnGroup *msn_group = NULL; |
| 645 char *who; |
646 char *who; |
| 646 char outparams[MSN_BUF_LEN]; |
647 char outparams[MSN_BUF_LEN]; |
| 647 GSList *l; |
648 GSList *l; |
| 648 |
649 |
| 649 who = msn_normalize(name); |
650 who = msn_normalize(name); |
| 661 } |
662 } |
| 662 |
663 |
| 663 if (l != NULL) |
664 if (l != NULL) |
| 664 return; |
665 return; |
| 665 |
666 |
| 666 g_snprintf(outparams, sizeof(outparams), |
667 if (group != NULL) |
| 667 "FL %s %s", who, who); |
668 msn_group = msn_groups_find_with_name(session->groups, group->name); |
| |
669 |
| |
670 if (msn_group != NULL) |
| |
671 { |
| |
672 g_snprintf(outparams, sizeof(outparams), |
| |
673 "FL %s %s %d", who, who, msn_group_get_id(msn_group)); |
| |
674 } |
| |
675 else |
| |
676 { |
| |
677 g_snprintf(outparams, sizeof(outparams), |
| |
678 "FL %s %s", who, who); |
| |
679 } |
| 668 |
680 |
| 669 if (!msn_servconn_send_command(session->notification_conn, |
681 if (!msn_servconn_send_command(session->notification_conn, |
| 670 "ADD", outparams)) { |
682 "ADD", outparams)) |
| |
683 { |
| 671 gaim_connection_error(gc, _("Write error")); |
684 gaim_connection_error(gc, _("Write error")); |
| 672 return; |
685 return; |
| 673 } |
686 } |
| 674 } |
687 } |
| 675 |
688 |