changeset 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 098059f271aa
children 4e7cefc55971
files src/protocols/toc/toc.c
diffstat 1 files changed, 13 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/toc/toc.c	Wed Apr 03 14:26:18 2002 +0000
+++ b/src/protocols/toc/toc.c	Thu Apr 04 00:59:12 2002 +0000
@@ -789,9 +789,9 @@
 	} else if (!strcasecmp(c, "RVOUS_PROPOSE")) {
 		char *user, *uuid, *cookie;
 		int seq;
-		char *rip, *pip, *vip;
+		char *rip, *pip, *vip, *trillian;
 		int port;
-
+		
 		user = strtok(NULL, ":");
 		uuid = strtok(NULL, ":");
 		cookie = strtok(NULL, ":");
@@ -809,11 +809,16 @@
 			struct ft_request *ft;
 
 			for (i = 0; i < 4; i++) {
-				sscanf(strtok(NULL, ":"), "%d", &unk[i]);
+				trillian = strtok(NULL, ":");
+				sscanf(trillian, "%d", &unk[i]);
 				if (unk[i] == 10001)
 					break;
-				frombase64(strtok(NULL, ":"), &messages[i], NULL);
+				/* Trillian likes to send an empty token as a message, rather than
+				   no message at all. */
+				if (*(trillian + strlen(trillian) +1) != ':')
+					frombase64(strtok(NULL, ":"), &messages[i], NULL);
 			}
+			   
 			frombase64(strtok(NULL, ":"), &tmp, NULL);
 
 			subtype = tmp[1];
@@ -866,7 +871,10 @@
 				sscanf(strtok(NULL, ":"), "%d", unk + i);
 				if (unk[i] == 10001)
 					break;
-				frombase64(strtok(NULL, ":"), &messages[i], NULL);
+				/* Trillian likes to send an empty token as a message, rather than
+				   no message at all. */
+				if (*(trillian + strlen(trillian) +1) != ':')
+					frombase64(strtok(NULL, ":"), &messages[i], NULL);
 			}
 			frombase64(strtok(NULL, ":"), &tmp, NULL);