comparison src/protocols/toc/toc.c @ 3126:e883f604174e

[gaim-migrate @ 3141] Fix to make toc file transfer work with Trillian. Don't use this. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Thu, 04 Apr 2002 00:59:12 +0000
parents dd78d89c910b
children fce1883cc608
comparison
equal deleted inserted replaced
3125:098059f271aa 3126:e883f604174e
787 " message. Gaim will prevent anything from going through. This" 787 " message. Gaim will prevent anything from going through. This"
788 " is only temporary, please be patient."), _("TOC Pause")); 788 " is only temporary, please be patient."), _("TOC Pause"));
789 } else if (!strcasecmp(c, "RVOUS_PROPOSE")) { 789 } else if (!strcasecmp(c, "RVOUS_PROPOSE")) {
790 char *user, *uuid, *cookie; 790 char *user, *uuid, *cookie;
791 int seq; 791 int seq;
792 char *rip, *pip, *vip; 792 char *rip, *pip, *vip, *trillian;
793 int port; 793 int port;
794 794
795 user = strtok(NULL, ":"); 795 user = strtok(NULL, ":");
796 uuid = strtok(NULL, ":"); 796 uuid = strtok(NULL, ":");
797 cookie = strtok(NULL, ":"); 797 cookie = strtok(NULL, ":");
798 sscanf(strtok(NULL, ":"), "%d", &seq); 798 sscanf(strtok(NULL, ":"), "%d", &seq);
799 rip = strtok(NULL, ":"); 799 rip = strtok(NULL, ":");
807 char *messages[4], *tmp, *name; 807 char *messages[4], *tmp, *name;
808 int subtype, files, totalsize = 0; 808 int subtype, files, totalsize = 0;
809 struct ft_request *ft; 809 struct ft_request *ft;
810 810
811 for (i = 0; i < 4; i++) { 811 for (i = 0; i < 4; i++) {
812 sscanf(strtok(NULL, ":"), "%d", &unk[i]); 812 trillian = strtok(NULL, ":");
813 sscanf(trillian, "%d", &unk[i]);
813 if (unk[i] == 10001) 814 if (unk[i] == 10001)
814 break; 815 break;
815 frombase64(strtok(NULL, ":"), &messages[i], NULL); 816 /* Trillian likes to send an empty token as a message, rather than
817 no message at all. */
818 if (*(trillian + strlen(trillian) +1) != ':')
819 frombase64(strtok(NULL, ":"), &messages[i], NULL);
816 } 820 }
821
817 frombase64(strtok(NULL, ":"), &tmp, NULL); 822 frombase64(strtok(NULL, ":"), &tmp, NULL);
818 823
819 subtype = tmp[1]; 824 subtype = tmp[1];
820 files = tmp[3]; 825 files = tmp[3];
821 826
864 869
865 for (i = 0; i < 4; i++) { 870 for (i = 0; i < 4; i++) {
866 sscanf(strtok(NULL, ":"), "%d", unk + i); 871 sscanf(strtok(NULL, ":"), "%d", unk + i);
867 if (unk[i] == 10001) 872 if (unk[i] == 10001)
868 break; 873 break;
869 frombase64(strtok(NULL, ":"), &messages[i], NULL); 874 /* Trillian likes to send an empty token as a message, rather than
875 no message at all. */
876 if (*(trillian + strlen(trillian) +1) != ':')
877 frombase64(strtok(NULL, ":"), &messages[i], NULL);
870 } 878 }
871 frombase64(strtok(NULL, ":"), &tmp, NULL); 879 frombase64(strtok(NULL, ":"), &tmp, NULL);
872 880
873 ft = g_new0(struct ft_request, 1); 881 ft = g_new0(struct ft_request, 1);
874 ft->cookie = g_strdup(cookie); 882 ft->cookie = g_strdup(cookie);