changeset 10043:700f8fb9e581

[gaim-migrate @ 11002] commit the 2 xfr patches to msn from shx to head. these went in just before 1.0.0 was released fixing some bugs committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sun, 19 Sep 2004 02:53:00 +0000
parents ae6157393415
children 86a6d78b070b
files src/protocols/msn/cmdproc.c src/protocols/msn/notification.c src/protocols/msn/table.c src/protocols/msn/table.h
diffstat 4 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/msn/cmdproc.c	Sat Sep 18 23:47:36 2004 +0000
+++ b/src/protocols/msn/cmdproc.c	Sun Sep 19 02:53:00 2004 +0000
@@ -288,6 +288,9 @@
 			cb = g_hash_table_lookup(trans->callbacks, cmd->command);
 	}
 
+	if (cb == NULL && cmdproc->cbs_table->fallback != NULL)
+		cb = g_hash_table_lookup(cmdproc->cbs_table->fallback, cmd->command);
+
 	if (cb != NULL)
 	{
 		cb(cmdproc, cmd);
--- a/src/protocols/msn/notification.c	Sat Sep 18 23:47:36 2004 +0000
+++ b/src/protocols/msn/notification.c	Sun Sep 19 02:53:00 2004 +0000
@@ -1256,7 +1256,7 @@
 
 	msn_table_add_cmd(cbs_table, NULL, "URL", url_cmd);
 
-	msn_table_add_cmd(cbs_table, NULL, "XFR", xfr_cmd);
+	msn_table_add_cmd(cbs_table, "fallback", "XFR", xfr_cmd);
 
 	msn_table_add_error(cbs_table, "ADD", add_error);
 	/* msn_table_add_error(cbs_table, "REA", rea_error); */
--- a/src/protocols/msn/table.c	Sat Sep 18 23:47:36 2004 +0000
+++ b/src/protocols/msn/table.c	Sun Sep 19 02:53:00 2004 +0000
@@ -46,6 +46,7 @@
 	table->errors = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
 	table->async = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
+	table->fallback = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
 
 	return table;
 }
@@ -60,6 +61,7 @@
 	g_hash_table_destroy(table->errors);
 
 	g_hash_table_destroy(table->async);
+	g_hash_table_destroy(table->fallback);
 
 	g_free(table);
 }
@@ -79,6 +81,10 @@
 	{
 		cbs = table->async;
 	}
+	else if (strcmp(command, "fallback") == 0)
+	{
+		cbs = table->fallback;
+	}
 	else
 	{
 		cbs = g_hash_table_lookup(table->cmds, command);
--- a/src/protocols/msn/table.h	Sat Sep 18 23:47:36 2004 +0000
+++ b/src/protocols/msn/table.h	Sun Sep 19 02:53:00 2004 +0000
@@ -41,6 +41,7 @@
 	GHashTable *errors;
 
 	GHashTable *async;
+	GHashTable *fallback;
 };
 
 MsnTable *msn_table_new();