Mercurial > pidgin
comparison src/toc.c @ 1615:5a2fd3f2a1d0
[gaim-migrate @ 1625]
maybe this will fix something.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Mon, 19 Mar 2001 10:33:33 +0000 |
| parents | b6fe5cab70d6 |
| children | 8684c0315818 |
comparison
equal
deleted
inserted
replaced
| 1614:3d3362903e1d | 1615:5a2fd3f2a1d0 |
|---|---|
| 281 struct gaim_connection *gc = (struct gaim_connection *)data; | 281 struct gaim_connection *gc = (struct gaim_connection *)data; |
| 282 struct toc_data *tdt = (struct toc_data *)gc->proto_data; | 282 struct toc_data *tdt = (struct toc_data *)gc->proto_data; |
| 283 struct sflap_hdr *hdr; | 283 struct sflap_hdr *hdr; |
| 284 struct signon so; | 284 struct signon so; |
| 285 char buf[8 * 1024], *c; | 285 char buf[8 * 1024], *c; |
| 286 char snd[MSG_LEN]; | 286 char snd[BUF_LEN * 2]; |
| 287 | 287 |
| 288 if (condition & GDK_INPUT_EXCEPTION) { | 288 if (condition & GDK_INPUT_EXCEPTION) { |
| 289 debug_printf("gdk_input exception! check internet connection\n"); | 289 debug_printf("gdk_input exception! check internet connection\n"); |
| 290 hide_login_progress(gc, _("Connection Closed")); | 290 hide_login_progress(gc, _("Connection Closed")); |
| 291 signoff(gc); | 291 signoff(gc); |
| 685 return "TOC"; | 685 return "TOC"; |
| 686 } | 686 } |
| 687 | 687 |
| 688 static void toc_send_im(struct gaim_connection *gc, char *name, char *message, int away) | 688 static void toc_send_im(struct gaim_connection *gc, char *name, char *message, int away) |
| 689 { | 689 { |
| 690 char buf[MSG_LEN - 7]; | 690 char buf[BUF_LEN * 2]; |
| 691 | 691 |
| 692 escape_text(message); | 692 escape_text(message); |
| 693 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), | 693 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), |
| 694 message, ((away) ? " auto" : "")); | 694 message, ((away) ? " auto" : "")); |
| 695 sflap_send(gc, buf, -1, TYPE_DATA); | 695 sflap_send(gc, buf, -1, TYPE_DATA); |
| 696 } | 696 } |
| 697 | 697 |
| 698 static void toc_set_config(struct gaim_connection *gc) | 698 static void toc_set_config(struct gaim_connection *gc) |
| 699 { | 699 { |
| 700 char buf[MSG_LEN], snd[MSG_LEN]; | 700 char buf[MSG_LEN], snd[BUF_LEN * 2]; |
| 701 toc_build_config(gc, buf, MSG_LEN, FALSE); | 701 toc_build_config(gc, buf, MSG_LEN, FALSE); |
| 702 g_snprintf(snd, MSG_LEN, "toc_set_config {%s}", buf); | 702 g_snprintf(snd, MSG_LEN, "toc_set_config {%s}", buf); |
| 703 sflap_send(gc, snd, -1, TYPE_DATA); | 703 sflap_send(gc, snd, -1, TYPE_DATA); |
| 704 } | 704 } |
| 705 | 705 |
| 706 static void toc_get_info(struct gaim_connection *g, char *name) | 706 static void toc_get_info(struct gaim_connection *g, char *name) |
| 707 { | 707 { |
| 708 char buf[MSG_LEN]; | 708 char buf[BUF_LEN * 2]; |
| 709 g_snprintf(buf, MSG_LEN, "toc_get_info %s", normalize(name)); | 709 g_snprintf(buf, MSG_LEN, "toc_get_info %s", normalize(name)); |
| 710 sflap_send(g, buf, -1, TYPE_DATA); | 710 sflap_send(g, buf, -1, TYPE_DATA); |
| 711 } | 711 } |
| 712 | 712 |
| 713 static void toc_get_dir(struct gaim_connection *g, char *name) | 713 static void toc_get_dir(struct gaim_connection *g, char *name) |
| 714 { | 714 { |
| 715 char buf[MSG_LEN]; | 715 char buf[BUF_LEN * 2]; |
| 716 g_snprintf(buf, MSG_LEN, "toc_get_dir %s", normalize(name)); | 716 g_snprintf(buf, MSG_LEN, "toc_get_dir %s", normalize(name)); |
| 717 sflap_send(g, buf, -1, TYPE_DATA); | 717 sflap_send(g, buf, -1, TYPE_DATA); |
| 718 } | 718 } |
| 719 | 719 |
| 720 static void toc_set_dir(struct gaim_connection *g, char *first, char *middle, char *last, | 720 static void toc_set_dir(struct gaim_connection *g, char *first, char *middle, char *last, |
| 739 sflap_send(g, buf, -1, TYPE_DATA); | 739 sflap_send(g, buf, -1, TYPE_DATA); |
| 740 } | 740 } |
| 741 | 741 |
| 742 static void toc_set_away(struct gaim_connection *g, char *state, char *message) | 742 static void toc_set_away(struct gaim_connection *g, char *state, char *message) |
| 743 { | 743 { |
| 744 char buf[MSG_LEN]; | 744 char buf[BUF_LEN * 2]; |
| 745 if (g->away) | 745 if (g->away) |
| 746 g_free (g->away); | 746 g_free (g->away); |
| 747 g->away = NULL; | 747 g->away = NULL; |
| 748 if (message) { | 748 if (message) { |
| 749 g->away = g_strdup (message); | 749 g->away = g_strdup (message); |
| 754 sflap_send(g, buf, -1, TYPE_DATA); | 754 sflap_send(g, buf, -1, TYPE_DATA); |
| 755 } | 755 } |
| 756 | 756 |
| 757 static void toc_set_info(struct gaim_connection *g, char *info) | 757 static void toc_set_info(struct gaim_connection *g, char *info) |
| 758 { | 758 { |
| 759 char buf[MSG_LEN], buf2[MSG_LEN]; | 759 char buf[BUF_LEN * 2], buf2[BUF_LEN * 2]; |
| 760 g_snprintf(buf2, sizeof buf2, "%s", info); | 760 g_snprintf(buf2, sizeof buf2, "%s", info); |
| 761 escape_text(buf2); | 761 escape_text(buf2); |
| 762 g_snprintf(buf, sizeof(buf), "toc_set_info \"%s\n\"", buf2); | 762 g_snprintf(buf, sizeof(buf), "toc_set_info \"%s\n\"", buf2); |
| 763 sflap_send(g, buf, -1, TYPE_DATA); | 763 sflap_send(g, buf, -1, TYPE_DATA); |
| 764 } | 764 } |
| 765 | 765 |
| 766 static void toc_change_passwd(struct gaim_connection *g, char *orig, char *new) | 766 static void toc_change_passwd(struct gaim_connection *g, char *orig, char *new) |
| 767 { | 767 { |
| 768 char buf[MSG_LEN]; | 768 char buf[BUF_LEN * 2]; |
| 769 g_snprintf(buf, BUF_LONG, "toc_change_passwd %s %s", orig, new); | 769 g_snprintf(buf, BUF_LONG, "toc_change_passwd %s %s", orig, new); |
| 770 sflap_send(g, buf, strlen(buf), TYPE_DATA); | 770 sflap_send(g, buf, strlen(buf), TYPE_DATA); |
| 771 } | 771 } |
| 772 | 772 |
| 773 static void toc_add_buddy(struct gaim_connection *g, char *name) | 773 static void toc_add_buddy(struct gaim_connection *g, char *name) |
| 774 { | 774 { |
| 775 char buf[1024]; | 775 char buf[BUF_LEN * 2]; |
| 776 g_snprintf(buf, sizeof(buf), "toc_add_buddy %s", normalize(name)); | 776 g_snprintf(buf, sizeof(buf), "toc_add_buddy %s", normalize(name)); |
| 777 sflap_send(g, buf, -1, TYPE_DATA); | 777 sflap_send(g, buf, -1, TYPE_DATA); |
| 778 toc_set_config(g); | 778 toc_set_config(g); |
| 779 } | 779 } |
| 780 | 780 |
| 781 static void toc_add_buddies(struct gaim_connection *g, GList * buddies) | 781 static void toc_add_buddies(struct gaim_connection *g, GList * buddies) |
| 782 { | 782 { |
| 783 char buf[MSG_LEN]; | 783 char buf[BUF_LEN * 2]; |
| 784 int n; | 784 int n; |
| 785 | 785 |
| 786 n = g_snprintf(buf, sizeof(buf), "toc_add_buddy"); | 786 n = g_snprintf(buf, sizeof(buf), "toc_add_buddy"); |
| 787 while (buddies) { | 787 while (buddies) { |
| 788 if (strlen(normalize(buddies->data)) > MSG_LEN - n - 16) { | 788 if (strlen(normalize(buddies->data)) > MSG_LEN - n - 16) { |
| 795 sflap_send(g, buf, -1, TYPE_DATA); | 795 sflap_send(g, buf, -1, TYPE_DATA); |
| 796 } | 796 } |
| 797 | 797 |
| 798 static void toc_remove_buddy(struct gaim_connection *g, char *name) | 798 static void toc_remove_buddy(struct gaim_connection *g, char *name) |
| 799 { | 799 { |
| 800 char buf[1024]; | 800 char buf[BUF_LEN * 2]; |
| 801 g_snprintf(buf, sizeof(buf), "toc_remove_buddy %s", normalize(name)); | 801 g_snprintf(buf, sizeof(buf), "toc_remove_buddy %s", normalize(name)); |
| 802 sflap_send(g, buf, -1, TYPE_DATA); | 802 sflap_send(g, buf, -1, TYPE_DATA); |
| 803 toc_set_config(g); | 803 toc_set_config(g); |
| 804 } | 804 } |
| 805 | 805 |
| 806 static void toc_set_idle(struct gaim_connection *g, int time) | 806 static void toc_set_idle(struct gaim_connection *g, int time) |
| 807 { | 807 { |
| 808 char buf[256]; | 808 char buf[BUF_LEN * 2]; |
| 809 g_snprintf(buf, sizeof(buf), "toc_set_idle %d", time); | 809 g_snprintf(buf, sizeof(buf), "toc_set_idle %d", time); |
| 810 sflap_send(g, buf, -1, TYPE_DATA); | 810 sflap_send(g, buf, -1, TYPE_DATA); |
| 811 } | 811 } |
| 812 | 812 |
| 813 static void toc_warn(struct gaim_connection *g, char *name, int anon) | 813 static void toc_warn(struct gaim_connection *g, char *name, int anon) |
| 814 { | 814 { |
| 815 char send[256]; | 815 char send[BUF_LEN * 2]; |
| 816 g_snprintf(send, 255, "toc_evil %s %s", name, ((anon) ? "anon" : "norm")); | 816 g_snprintf(send, 255, "toc_evil %s %s", name, ((anon) ? "anon" : "norm")); |
| 817 sflap_send(g, send, -1, TYPE_DATA); | 817 sflap_send(g, send, -1, TYPE_DATA); |
| 818 } | 818 } |
| 819 | 819 |
| 820 static void toc_accept_chat(struct gaim_connection *g, int i) | 820 static void toc_accept_chat(struct gaim_connection *g, int i) |
| 821 { | 821 { |
| 822 char buf[256]; | 822 char buf[BUF_LEN * 2]; |
| 823 g_snprintf(buf, 255, "toc_chat_accept %d", i); | 823 g_snprintf(buf, 255, "toc_chat_accept %d", i); |
| 824 sflap_send(g, buf, -1, TYPE_DATA); | 824 sflap_send(g, buf, -1, TYPE_DATA); |
| 825 } | 825 } |
| 826 | 826 |
| 827 static void toc_join_chat(struct gaim_connection *g, int exchange, char *name) | 827 static void toc_join_chat(struct gaim_connection *g, int exchange, char *name) |
| 840 | 840 |
| 841 static void toc_chat_leave(struct gaim_connection *g, int id) | 841 static void toc_chat_leave(struct gaim_connection *g, int id) |
| 842 { | 842 { |
| 843 GSList *bcs = g->buddy_chats; | 843 GSList *bcs = g->buddy_chats; |
| 844 struct conversation *b = NULL; | 844 struct conversation *b = NULL; |
| 845 char buf[256]; | 845 char buf[BUF_LEN * 2]; |
| 846 | 846 |
| 847 while (bcs) { | 847 while (bcs) { |
| 848 b = (struct conversation *)bcs->data; | 848 b = (struct conversation *)bcs->data; |
| 849 if (id == b->id) | 849 if (id == b->id) |
| 850 break; | 850 break; |
| 863 } | 863 } |
| 864 } | 864 } |
| 865 | 865 |
| 866 static void toc_chat_whisper(struct gaim_connection *g, int id, char *who, char *message) | 866 static void toc_chat_whisper(struct gaim_connection *g, int id, char *who, char *message) |
| 867 { | 867 { |
| 868 char buf2[MSG_LEN]; | 868 char buf2[BUF_LEN * 2]; |
| 869 g_snprintf(buf2, sizeof(buf2), "toc_chat_whisper %d %s \"%s\"", id, who, message); | 869 g_snprintf(buf2, sizeof(buf2), "toc_chat_whisper %d %s \"%s\"", id, who, message); |
| 870 sflap_send(g, buf2, -1, TYPE_DATA); | 870 sflap_send(g, buf2, -1, TYPE_DATA); |
| 871 } | 871 } |
| 872 | 872 |
| 873 static void toc_chat_send(struct gaim_connection *g, int id, char *message) | 873 static void toc_chat_send(struct gaim_connection *g, int id, char *message) |
| 874 { | 874 { |
| 875 char buf[MSG_LEN]; | 875 char buf[BUF_LEN * 2]; |
| 876 escape_text(message); | 876 escape_text(message); |
| 877 g_snprintf(buf, sizeof(buf), "toc_chat_send %d \"%s\"", id, message); | 877 g_snprintf(buf, sizeof(buf), "toc_chat_send %d \"%s\"", id, message); |
| 878 sflap_send(g, buf, -1, TYPE_DATA); | 878 sflap_send(g, buf, -1, TYPE_DATA); |
| 879 } | 879 } |
| 880 | 880 |
| 1087 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 1087 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
| 1088 } | 1088 } |
| 1089 | 1089 |
| 1090 static void toc_add_permit(struct gaim_connection *gc, char *who) | 1090 static void toc_add_permit(struct gaim_connection *gc, char *who) |
| 1091 { | 1091 { |
| 1092 char buf2[MSG_LEN]; | 1092 char buf2[BUF_LEN * 2]; |
| 1093 if (gc->permdeny != 3) | 1093 if (gc->permdeny != 3) |
| 1094 return; | 1094 return; |
| 1095 g_snprintf(buf2, sizeof(buf2), "toc_add_permit %s", normalize(who)); | 1095 g_snprintf(buf2, sizeof(buf2), "toc_add_permit %s", normalize(who)); |
| 1096 sflap_send(gc, buf2, -1, TYPE_DATA); | 1096 sflap_send(gc, buf2, -1, TYPE_DATA); |
| 1097 } | 1097 } |
| 1098 | 1098 |
| 1099 static void toc_add_deny(struct gaim_connection *gc, char *who) | 1099 static void toc_add_deny(struct gaim_connection *gc, char *who) |
| 1100 { | 1100 { |
| 1101 char buf2[MSG_LEN]; | 1101 char buf2[BUF_LEN * 2]; |
| 1102 if (gc->permdeny != 4) | 1102 if (gc->permdeny != 4) |
| 1103 return; | 1103 return; |
| 1104 g_snprintf(buf2, sizeof(buf2), "toc_add_deny %s", normalize(who)); | 1104 g_snprintf(buf2, sizeof(buf2), "toc_add_deny %s", normalize(who)); |
| 1105 sflap_send(gc, buf2, -1, TYPE_DATA); | 1105 sflap_send(gc, buf2, -1, TYPE_DATA); |
| 1106 } | 1106 } |
| 1107 | 1107 |
| 1108 static void toc_set_permit_deny(struct gaim_connection *gc) | 1108 static void toc_set_permit_deny(struct gaim_connection *gc) |
| 1109 { | 1109 { |
| 1110 char buf2[MSG_LEN]; | 1110 char buf2[BUF_LEN * 2]; |
| 1111 GSList *list; | 1111 GSList *list; |
| 1112 int at; | 1112 int at; |
| 1113 | 1113 |
| 1114 switch (gc->permdeny) { | 1114 switch (gc->permdeny) { |
| 1115 case 1: | 1115 case 1: |
| 1467 { | 1467 { |
| 1468 struct file_transfer *ft; | 1468 struct file_transfer *ft; |
| 1469 char *dirname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(old_ft->window)); | 1469 char *dirname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(old_ft->window)); |
| 1470 int fd; | 1470 int fd; |
| 1471 struct aim_user *user; | 1471 struct aim_user *user; |
| 1472 char *buf; | 1472 char buf[BUF_LEN * 2]; |
| 1473 | 1473 |
| 1474 if (file_is_dir(dirname, old_ft->window)) | 1474 if (file_is_dir(dirname, old_ft->window)) |
| 1475 return; | 1475 return; |
| 1476 ft = g_new0(struct file_transfer, 1); | 1476 ft = g_new0(struct file_transfer, 1); |
| 1477 if (old_ft->files == 1) | 1477 if (old_ft->files == 1) |
| 1485 ft->port = old_ft->port; | 1485 ft->port = old_ft->port; |
| 1486 ft->gc = old_ft->gc; | 1486 ft->gc = old_ft->gc; |
| 1487 user = ft->gc->user; | 1487 user = ft->gc->user; |
| 1488 gtk_widget_destroy(old_ft->window); | 1488 gtk_widget_destroy(old_ft->window); |
| 1489 | 1489 |
| 1490 buf = g_strdup_printf("toc_rvous_accept %s %s %s", ft->user, ft->cookie, FILE_SEND_UID); | 1490 g_snprintf(buf, sizeof(buf), "toc_rvous_accept %s %s %s", ft->user, ft->cookie, FILE_SEND_UID); |
| 1491 sflap_send(ft->gc, buf, -1, TYPE_DATA); | 1491 sflap_send(ft->gc, buf, -1, TYPE_DATA); |
| 1492 g_free(buf); | |
| 1493 | 1492 |
| 1494 fd = | 1493 fd = |
| 1495 proxy_connect(ft->ip, ft->port, | 1494 proxy_connect(ft->ip, ft->port, |
| 1496 user->proto_opt[USEROPT_SOCKSHOST], | 1495 user->proto_opt[USEROPT_SOCKSHOST], |
| 1497 atoi(user->proto_opt[USEROPT_SOCKSPORT]), | 1496 atoi(user->proto_opt[USEROPT_SOCKSPORT]), |
| 1631 struct file_transfer *ft; | 1630 struct file_transfer *ft; |
| 1632 struct file_header *hdr; | 1631 struct file_header *hdr; |
| 1633 char *dirname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(old_ft->window)); | 1632 char *dirname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(old_ft->window)); |
| 1634 int fd; | 1633 int fd; |
| 1635 struct aim_user *user; | 1634 struct aim_user *user; |
| 1636 char *buf; | 1635 char *buf, buf2[BUF_LEN * 2]; |
| 1637 struct stat st; | 1636 struct stat st; |
| 1638 | 1637 |
| 1639 if (file_is_dir(dirname, old_ft->window)) | 1638 if (file_is_dir(dirname, old_ft->window)) |
| 1640 return; | 1639 return; |
| 1641 ft = g_new0(struct file_transfer, 1); | 1640 ft = g_new0(struct file_transfer, 1); |
| 1663 ft->port = old_ft->port; | 1662 ft->port = old_ft->port; |
| 1664 ft->gc = old_ft->gc; | 1663 ft->gc = old_ft->gc; |
| 1665 user = ft->gc->user; | 1664 user = ft->gc->user; |
| 1666 gtk_widget_destroy(old_ft->window); | 1665 gtk_widget_destroy(old_ft->window); |
| 1667 | 1666 |
| 1668 buf = g_strdup_printf("toc_rvous_accept %s %s %s", ft->user, ft->cookie, FILE_GET_UID); | 1667 g_snprintf(buf2, sizeof(buf2), "toc_rvous_accept %s %s %s", ft->user, ft->cookie, FILE_GET_UID); |
| 1669 sflap_send(ft->gc, buf, -1, TYPE_DATA); | 1668 sflap_send(ft->gc, buf2, -1, TYPE_DATA); |
| 1670 g_free(buf); | |
| 1671 | 1669 |
| 1672 fd = | 1670 fd = |
| 1673 proxy_connect(ft->ip, ft->port, | 1671 proxy_connect(ft->ip, ft->port, |
| 1674 user->proto_opt[USEROPT_SOCKSHOST], | 1672 user->proto_opt[USEROPT_SOCKSHOST], |
| 1675 atoi(user->proto_opt[USEROPT_SOCKSPORT]), | 1673 atoi(user->proto_opt[USEROPT_SOCKSPORT]), |
